假设有一个名为'collection'的集合,可以使用以下代码删除重复数据:

from pymongo import MongoClient

client = MongoClient()
db = client['database_name']
collection = db['collection_name']

# 删除重复数据
collection.aggregate([
    {"\$group": {"_id": {"name": "\$data.name", "city": "\$data.city", "creditCode": "\$data.creditCode"}, "dups": {"\$push": "\$_id"}, "count": {"\$sum": 1}}},  
    {"\$match": {"count": {"\$gt": 1}}},  
    {"\$sort": {"count": -1}},  
    {"\$limit": 100},  
    {"\$unwind": "\$dups"},  
    {"\$project": {"_id": "\$dups"}}  
]).forEach(lambda doc: collection.delete_one({"_id": doc["_id"]}))

这个代码使用了MongoDB的聚合管道,首先将数据按照'data.name'、'data.city'、'data.creditCode'分组,然后找到重复的数据,最后删除重复数据。请注意,这个代码中的'data'是一个嵌套字段,你需要根据实际情况修改这个字段。

PyMongo: 删除集合中重复数据(根据name、city、creditCode)

原文地址: https://www.cveoy.top/t/topic/ovvm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录