Mongodb findAndModify node js
The syntax is different in the node driver than for the shell, which is the syntax you are using.
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) { });
There is a separate function for .findAndRemove()
As the documentation for the remove
parameter of the findAndModify
function states:
remove:
<boolean>
:
Must specify either the remove or the update field. Removes the document specified in the query field. Set this to true to remove the selected document . The default is false.
The default value is false so you don't have to provide it at all.
I believe the issue is that you are supplying both update
and remove
parameters. Try removing the remove
parameter.