从 id 中删除 PyMongo 中的文档

Deleting document in PyMongo from id

我似乎在努力寻找删除文档的正确方法。 IE。例如,我应该使用 remove() 还是 delete_one() 以及按 id 删除的规范方法是什么,它是 string.

即我应该使用以下内容吗:

mongo.db.xxx.delete_one({'_id': { "$oid" : str(_id) } })

或者我可以使用其他格式吗?

mongo.db.xxx.remove({'_id': { "$oid" : str(_id) } })
mongo.db.xxx.remove({'_id': ObjectId(_id) })

规范形式是什么?

remove 在 pymongo 的 3.x 版本中被弃用,因此当前的规范形式是使用 delete_one:

from bson.objectid import ObjectId

result = mongo.db.xxx.delete_one({'_id': ObjectId(_id)})

调用 returns 一个 DeleteResult,您可以在其中检查 deleted_count 字段以查看它是否找到要删除的文档