#node.js #mongodb #mongoose
#node.js #mongodb #mongoose
Вопрос:
У меня есть таблица таких взаимодействий.
var interactions = new Schema({
call_Id: {
type: String,
index: true
},
contact_id: {
type: String,
index: true
},
msgId: {
type: String,
default: null
},
interactions: []
}, {
timestamps: true,
strict: false
})
module.exports = mongoose.model('interactions', interactions);
var interactions = require('mongoose').model('interactions');
exports.updateStatusOfMsg = (req, res) => {
let id=req.body.messageId;
interactions.findOneAndUpdate({'msgId': id }, {$set:
{status:req.body.status}}, {new: true}, (err, doc) => {
if (err) {
console.log("this is error " err);
}
console.log("this is doc " doc);
});
}
проблема в том, что все объекты в таблицах взаимодействий не имеют свойства «msgId». возможно ли, что только те объекты ищут обновление, у которого есть свойство «msgId»?
Ответ №1:
Model.findOneAndUpdate() обновит документ только в случае его обнаружения.
В случае вашей программы вам не нужно беспокоиться о документах, у которых нет msgId
атрибута, они не будут найдены.