无法使用 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 列表中删除对象及其索引?

MongoDB pymongo模块 删除数据

无法使用 pymongo 2.2 连接到 MongoDB 2.0.5 数据库

mongodb, pymongo 查询

pymongo 无法检索文件

100天精通Python(进阶篇)——第40天:pymongo操作MongoDB数据库基础+代码实战