Is it possible to get the document that was removed from MongoDB?
result = db.things.remove({_id: id})
// is there a result.removedObjects?
Thanks!
Is it possible to get the document that was removed from MongoDB?
result = db.things.remove({_id: id})
// is there a result.removedObjects?
Thanks!
It is possible, but it requires a different command. You are looking for the findAndModify
command.
If you set the options to {query: ..., remove: true, new: false}
, you will delete a single document and return the removed document.
Some notes:
new
is a keyword in many languages, ensure that you are wrapping the text of the flag correctly.findAndModify
will only work with a single document. This is fine for deleting _id
but not good for ranged removes.db.collection('mycollection').findOneAndDelete({
id: '123456'
}, function (error, response) {
response.value;// returns the deleted object, but no longer exists in the database
});