Der findAndModify
Methode hat die folgende Signatur
findAndModify(query, sort, doc, options, callback)
wo
query
<object>
:Das Abfrageobjekt zum Suchen des zu ändernden Objekts.sort
<array>
:Wenn mehrere Dokumente übereinstimmen, wählen Sie das erste in der angegebenen Sortierreihenfolge als zu bearbeitendes Objekt aus.doc
<object>
:Die zu aktualisierenden Felder/Werte.options
<object>
optional:Optionale Einstellungen.
Der Grund, warum Sie den Fehler erhalten, liegt in der sort
Spezifikation fehlt und stattdessen das Update doc
liest als sort
Parameter.
Sie müssen den Sortierparameter wie folgt angeben:
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);
}
}
);