De findAndModify
methode heeft de volgende handtekening
findAndModify(query, sort, doc, options, callback)
waar
query<object>:Het zoekobject om het te wijzigen object te vinden.sort<array>:Als meerdere documenten overeenkomen, kiest u de eerste in de opgegeven sorteervolgorde als het te manipuleren object.doc<object>:De velden/waarden die moeten worden bijgewerkt.options<object>optioneel:optionele instellingen.
De reden waarom u de foutmelding krijgt, is omdat de sort specificatie ontbreekt en leest in plaats daarvan de update doc als de sort parameter.
U moet de sorteerparameter als volgt specificeren:
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);
}
}
);