I seem to be struggling to find the right way of deleting a document. I.e. should I be using remove() or delete_one() for example and also what is the canonical method of deleting by id, which is a string
.
I.e. should I be using the following:
mongo.db.xxx.delete_one({'_id': { "$oid" : str(_id) } })
or can I use another format?
mongo.db.xxx.remove({'_id': { "$oid" : str(_id) } })
mongo.db.xxx.remove({'_id': ObjectId(_id) })
What is the canonical form?
remove
is deprecated in the 3.x release of pymongo, so the current canonical form would be to use delete_one
:
from bson.objectid import ObjectId
result = mongo.db.xxx.delete_one({'_id': ObjectId(_id)})
The call returns a DeleteResult
in which you can inspect the deleted_count
field to see if it found a document to delete
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With