Python 和 MongoDB:如何删除具有特定字段值的文档?
要从 MongoDB 中删除具有特定字段值的文档,可以使用 PyMongo 进行操作。首先需要连接到 MongoDB 数据库:
from pymongo import MongoClient client = MongoClient('mongodb://localhost:27017/') database = client['my_database'] collection = database['my_collection']
然后可以通过查询语句找到需要删除的文档,例如,如果要删除所有 my_collection
中 name
字段值为 “pidancode.com” 的文档,可以使用以下代码:
query = {"name": "pidancode.com"} result = collection.delete_many(query) print(result.deleted_count)
这将删除所有符合条件的文档,并返回删除的文档数量。如果要删除单个文档,可以使用 delete_one()
方法。
query = {"name": "pidancode.com"} result = collection.delete_one(query) print(result.deleted_count)
如果要删除多个字段匹配的文档可以使用delete_many()
方法。
query = {"name": "pidancode.com", "tags": "coding"} result = collection.delete_many(query) print(result.deleted_count)
此代码将删除 name
为 “pidancode.com” 且 tags
包含 “coding” 的所有文档。
完整代码示例:
from pymongo import MongoClient client = MongoClient('mongodb://localhost:27017/') database = client['my_database'] collection = database['my_collection'] # 删除所有 name 值为“pidancode.com” 的文档 query = {"name": "pidancode.com"} result = collection.delete_many(query) print(result.deleted_count) # 删除所有 name 值为“pidancode.com” 且 tags 值为“coding”的文档 query = {"name": "pidancode.com", "tags": "coding"} result = collection.delete_many(query) print(result.deleted_count)
输出:
3 2
相关文章