Проблема: Я пытаюсь обновить некоторые вложенные поля в MongoDb, используя findOneAndUpdate, но он обновляет только одно поле (дату) вместо всех полей, фактически, если я удаляю поле «Дата», оно обновляет ничего такого.
Схема
const UserSchema = new Schema({
info : {
geolocation: {
latitude: String,
longitude: String,
date: Date
}
}
})
Мое заявление:
User.findOneAndUpdate (
{"_id": id},
{"$set": {
'info.geolocation.latitude': 'test-lat',
'info.geolocation.longitude': 'test-long',
'info.geolocation.date': moment()
}
}).exec(function (err, doc) {
if (err) {
mongodb.desconectMDB();
return res.status(500).send({
message: 'error'
});
} else {
console.log(doc);
return res.status(200).send({
message: 'success'
});
}
}
);
(я уже принял принятый ответ здесь Mongoose findOneAndUpdate Обновление нескольких полей , что похоже на мою проблему, но не работает в моем случае)