gpt4 book ai didi

python - 如何使用pymongo过滤mongo集合中的数据

转载 作者:可可西里 更新时间:2023-11-01 10:22:38 25 4
gpt4 key购买 nike

我正在使用 pymongo 查询 MongoDB 并检查特定集合中的重复项。我已经确定了重复项,但我想在脚本中再添加一个过滤器。请在下面找到我的脚本

from pymongo import MongoClient


client = MongoClient ('localhost')
db = client.test

data = db.devices.aggregate([
{'$group': {'_id':{'UserId':"$userId",'DeviceType':"$deviceType"},
'count':{"$sum":1}}},
{'$match': {'count' : {"$gt" : 1}}}
])

for _id in data:
print _id

在上面的脚本中,我只想检查 DeviceType = "email"的数据的重复项。我曾尝试在匹配后添加“和”条件,但没有成功。

你能告诉我如何实现吗?

谢谢

最佳答案

您可以通过在您的管道中添加一个 $match 阶段来高效地完成此操作以过滤文档,这样您就只对 deviceType = "email"的文档进行分组:

data = db.devices.aggregate([
{'$match': {'deviceType': 'email'}},
{'$group': {'_id': {'UserId': "$userId", 'DeviceType': "$deviceType"},
'count': {"$sum": 1}}},
{'$match': {'count': {"$gt": 1}}}
])

关于python - 如何使用pymongo过滤mongo集合中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37516219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com