La sintaxis es diferente en el controlador de nodo que en el shell, que es la sintaxis que está utilizando.
db.collection("collection_name").findAndModify(
{ _id: _id }, // query
[], // represents a sort order if multiple matches
{ $set: data }, // update statement
{ new: true }, // options - new to return the modified document
function(err,doc) {
}
);
Hay una función separada para .findAndRemove()