findAndModify
phương thức có chữ ký sau
findAndModify(query, sort, doc, options, callback)
ở đâu
-
query
<object>
:Đối tượng truy vấn để xác định vị trí đối tượng cần sửa đổi. -
sort
<array>
:Nếu nhiều tài liệu khớp nhau, hãy chọn tài liệu đầu tiên theo thứ tự sắp xếp đã chỉ định làm đối tượng để thao tác. -
doc
<object>
:Các trường / vals sẽ được cập nhật. -
options
<object>
tùy chọn:Cài đặt tùy chọn.
Lý do tại sao bạn gặp lỗi là do sort
thông số kỹ thuật bị thiếu và thay vào đó nó đang đọc bản cập nhật doc
dưới dạng sort
tham số.
Bạn cần chỉ định tham số sắp xếp như sau:
db.get().collection('bars').findAndModify(
{ "barID": req.body.button }, // query
[ ["barID", 1] ], // sort
{
"$push": { // doc
"usersfbID": req.body.profileUser[0].facebookID,
"usersDocID": req.body.profileUser[0]._id
}
},
{ "new": true }, // options
function(err, doc){ // callback
if (err){
throw err;
} else if(doc){
console.log('Existing document updated successfully');
console.log(doc);
}
}
);