如何使用 Python 和 PyMongo 删除所有符合正则表达式的文档?

2023-04-15 00:00:00 删除 如何使用 符合

要删除所有符合正则表达式的文档,你需要先连接到 MongoDB 服务器,然后选择要操作的数据库和集合。接下来,使用 PyMongo 的 delete_many() 方法来删除所有符合正则表达式的文档。

以下是一个示例代码,它使用 PyMongo 和 Python 3.x,在名为“test”的数据库中的名为“mycollection”的集合中删除所有包含字符串“pidancode.com”或“皮蛋编程”的文档。

import re
from pymongo import MongoClient

# 连接到 MongoDB 服务器
client = MongoClient('localhost', 27017)

# 选择要操作的数据库和集合
db = client['test']
collection = db['mycollection']

# 删除所有符合正则表达式的文档
regex = re.compile('pidancode\.com|皮蛋编程')
result = collection.delete_many({'field': {'$regex': regex}})
print(result.deleted_count, '个文档已被删除')

在上面的代码中,我们使用了 PyMongo 的 delete_many() 方法。该方法采用一个查询文档作为参数,该文档描述要删除的文档符合的条件。在我们的示例中,我们使用了正则表达式来匹配包含字符串“pidancode.com”或“皮蛋编程”的文档,并使用了“$regex”运算符来进行正则表达式匹配。

最后,我们打印出已删除的文档数量,以确认操作已成功完成。

相关文章