Я пытаюсь использовать 'findOneAndUpdate' в mongoose, и обновленный объект JS, который я отправляю, не сохраняется в mongo. Я не получаю сообщение об ошибке при сохранении, но я возвращаю нуль для обновленного объекта. Любые идеи, что я могу делать неправильно? Это пример, который пытается обновить весь объект, сохраненный в mongo, т. Е. Переписать объект name.Mongoose findOneAndUpdate не работает
var query = {"_id": id};
var update = {name: {first: 'john', last: 'smith'}};
var options = {new: true};
People.findOneAndUpdate(query, update, options, function(err, person) {
if (err) {
console.log('got an error');
}
// at this point person is null.
});
Пожалуйста, отметьте свой ответ как принятый. – verybadalloc
Очевидно, если у вашего документа больше полей, все они будут удалены. Я уверен, что это то, чего можно было бы избежать каким-то образом, но –
@SergioMajluf Вы можете использовать $ set для обновления только необходимых полей. – Haywire