从id中删除PyMongo中的文档

时间:2015-10-05 13:30:44

标签: mongodb pymongo

我似乎在努力寻找删除文档的正确方法。即我应该使用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) })

什么是规范形式?

1 个答案:

答案 0 :(得分:22)

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

from bson.objectid import ObjectId

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

通话会返回DeleteResult,您可以在其中检查deleted_count字段以查看是否找到要删除的文件