无法使用 pymongo 删除 mongodb 文档
Posted
技术标签:
【中文标题】无法使用 pymongo 删除 mongodb 文档【英文标题】:Can't delete mongodb document using pymongo 【发布时间】:2019-08-31 03:46:54 【问题描述】:我正在尝试使用 (_id) 和 pymongo 删除一个特定文档,但我做不到,有点想法..
谢谢。
我有这个代码:
s = "ISODate('0')".format(nom_fitxer_clean)
#i generate the next string.. (ISODate('2018-11-07 00:00:00'))
myquery = "_id": s
#query string ('_id': "ISODate('2018-10-07 00:00:00')")
mycol.delete_one(myquery)
我没有收到任何错误或删除文档。
更新: 文档
【问题讨论】:
【参考方案1】:我认为一种可能的解决方案是在查询字符串中将 ISODate 替换为 ObjectId。
此外,delete_one
会删除与您的查询匹配的第一个对象。那么有可能存在多个与您的查询匹配的对象吗?
【讨论】:
('_id': "ObjectId ('2018-10-07 00:00:00')") 这样.. ? 我会试试这个,因为“_id”通常存储一个 ObjectId 类型的对象。您可以发布您的数据库的示例条目吗? 我已经在本地 mongo 上试过了,我猜你已经忘记了 pymongo 查询字符串末尾的 Z 毫秒 :-) 这是我的命令:db.getCollection('test').deleteOne("_id": ISODate("1970-01-01T00:00:00.000Z"))
以上是关于无法使用 pymongo 删除 mongodb 文档的主要内容,如果未能解决你的问题,请参考以下文章
使用 pyMongo 和 MongoEngine 从 MongoDb 列表中删除对象及其索引?