я могу после этого использовать полученный объект, чтоб изменить документ в базе и не искать его заново?
Через findOneAndUpdate - нет
Можно исопльзовать update пайплайны https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/
почему же. Можно модифицировать полученный объект и вызвать await model.save()
А, если об этом речь, то конечно)
Он сохраняет все модификации в документах модели? Спасибо, вроде, то что надо. Вопрос только что быстрее - найти и обновить заново или .save
под капотом одно и то же
Но сохранять будет всё, а так только одно. Или я чего-то не понимаю?)
что значит «всё»?
Документ в базе не один. Как он поймет что именно было изменено? Как вообще .save понимает, что ему сохранять? У него не внутри себя же список отдаваемых объектов..
const record = await recordModel.findOneAndUpdate(query, modifier); record.newField = 'value'; record.secondField = 'value2'; await record.save() Вот на моменте record.save() в рекорде уже есть _id, по которому и будет сделан апдейт
А. Так не model.save, a doc.save
Обсуждают сегодня