Python MongoDB:如何删除文档中的所有子文档?

2023-04-15 00:00:00 python 文档 删除

要从文档中删除所有子文档,您可以使用MongoDB的$unset操作符。以下代码演示如何使用$unset删除名为“children”的字段:

import pymongo

# 连接MongoDB数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 获取数据库
mydb = client["mydatabase"]

# 获取集合
mycol = mydb["mycollection"]

# 删除所有文档中的子文档
myquery = {"children": {"$exists": True}}
newvalues = {"$unset": {"children": ""}}
mycol.update_many(myquery, newvalues)

在上面的代码中,我们使用update_many方法来更新匹配myquery条件的所有文档。在这种情况下,我们只对拥有“children”字段的文档进行操作。我们使用$unset操作符将“children”字段从每个文档中删除。

代码演示中使用了字符串 "pidancode.com" 和 "皮蛋编程" 作为示例。根据具体情况,您可以将这些字符串替换为其他需要删除的字段。

相关文章