findAndModify
metoden har følgende signatur
findAndModify(query, sort, doc, options, callback)
hvor
forespørgsel
:Forespørgselsobjektet til at finde det objekt, der skal ændres. sortér
:Hvis flere dokumenter matcher, skal du vælge det første i den angivne sorteringsrækkefølge som det objekt, der skal manipuleres. doc
:De felter/værdier, der skal opdateres. indstillinger
valgfrit:Valgfri indstillinger.
Grunden til, at du får fejlen, er fordi sorteringen
specifikationen mangler, og i stedet læser den opdateringen doc
som sort
parameter.
Du skal angive sorteringsparameteren som følger:
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);
}
}
);