Mongodb 从id删除PyMongo中的文档

Mongodb 从id删除PyMongo中的文档,mongodb,pymongo,Mongodb,Pymongo,我似乎在努力寻找删除文档的正确方法。例如,我应该使用remove()还是delete_one(),以及按id删除的规范方法是什么,这是一个字符串 即,我是否应该使用以下内容: mongo.db.xxx.delete_one({'_id': { "$oid" : str(_id) } }) 或者我可以使用另一种格式 mongo.db.xxx.remove({'_id': { "$oid" : str(_id) } }) mongo.db.xxx.remove({'_id': ObjectId(_

我似乎在努力寻找删除文档的正确方法。例如,我应该使用remove()还是delete_one(),以及按id删除的规范方法是什么,这是一个
字符串

即,我是否应该使用以下内容:

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版本中被弃用,因此当前的标准形式将使用:

从bson.objectid导入objectid
result=mongo.db.xxx.delete_one({''u id':ObjectId('u id)})

调用返回一个,您可以在其中检查
deleted\u count
字段,查看是否找到要删除的文档。谢谢,您知道错误异常吗?我现在无法调试。也就是说,如果找不到ID。当我在命令行尝试此操作时,会得到以下结果:
NameError:name'ObjectId'未定义
@Navonod如果您还没有这样做,则需要导入它。请参见更新的answer.works,但仅限于不带ObjectId(…)