mongoose thực hiện điều này cho bạn trong một thao tác.
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true},
function(err, model) {
console.log(err);
}
);
Xin lưu ý rằng sử dụng phương pháp này, bạn sẽ không thể sử dụng các hàm "tiền" của lược đồ.
http://mongoosejs.com/docs/middleware.html
Kể từ phiên bản mogoose mới nhất, findbyidandupdate cần phải thêm thông số tùy chọn "mới:đúng" vào nó. Nếu không, bạn sẽ nhận được tài liệu cũ trả lại cho bạn. Do đó, bản cập nhật cho Mongoose Phiên bản 4.x.x chuyển đổi thành:
Contact.findByIdAndUpdate(
info._id,
{$push: {"messages": {title: title, msg: msg}}},
{safe: true, upsert: true, new : true},
function(err, model) {
console.log(err);
}
);