Я использую Mongo с Meteor и написал основной CRUD, но хотел знать, возможно ли обновлять все поля в записи. Я могу только показаться, чтобы обновить конкретное поле в записи, как это:Meteor/MongoDB обновить все поля для ввода
Brief.update(briefObject._id, { $set: { description: briefObject.description} });
Можно ли обновить всю запись, передавая в весь объект? Я пытаюсь сохранить свой код сухим и не нужно писать разные функции для обновления разных полей для записи. Что-то вроде этого:
Brief.update(brief._id, { $set: briefObject }
Вот выход примера записи:
meteor:PRIMARY> schema = db.briefs.findOne();
{
"_id" : "a56xpJ3ZTAzZKFmwD",
"title" : "Foo",
"client" : "Bar",
"deadline" : ISODate("2017-01-01T12:00:00Z"),
"description" : "Lorem Ipsum Dolor Sit",
"createdAt" : ISODate("2016-01-15T16:20:46.403Z"),
"username" : "fooBar"
}
Вот пример briefObject
:
{ title: 'Foo',
client: 'Bar',
deadline: Sun Jan 01 2017 12:00:00 GMT+0000 (GMT),
description: 'Lorem Ipsum Dolor Sit Amet',
createdAt: Fri Jan 15 2016 16:20:46 GMT+0000 (GMT),
username: 'fooBar',
_id: 'a56xpJ3ZTAzZKFmwD',
'$$hashKey': 'object:4'
}
Короче говоря, да. Но это также зависит от вашего определения схемы и если оно соответствует свойствам в 'briefObject'. Можете ли вы изменить свой вопрос, чтобы показать свою схему коллекции «Краткая» и типичный пример «briefObject»? – chridam
Да, конечно, я обновил вопрос. –
Вам нужно будет удалить два других ключа '_id' и' $$ hashKey' перед тем, как использовать объект в обновлении, поскольку это зарезервированные ключи в Mongo. – chridam