El findAndModify
El método tiene la siguiente firma
findAndModify(query, sort, doc, options, callback)
donde
query<object>:El objeto de consulta para localizar el objeto a modificar.sort<array>:si coinciden varios documentos, elija el primero en el orden de clasificación especificado como el objeto a manipular.doc<object>:Los campos/valores que se actualizarán.options<object>opcional:configuración opcional.
La razón por la que recibe el error es porque sort falta la especificación y en su lugar está leyendo la actualización doc como el sort parámetro.
Debe especificar el parámetro de clasificación de la siguiente manera:
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);
}
}
);