我有这样的数据
{ "_id": "1234gbrghr",
"Device" : "samsung",
"UserId" : "12654",
"Month" : "july"
},
{ "_id": "1278gbrghr",
"Device" : "nokia",
"UserId" : "87654",
"Month" : "july"
},
{ "_id": "1234gbrghr",
"Device" : "samsung",
"UserId" : "12654",
"Month" : "july"
}
我需要在 7 月份获得特定设备的不同用户编号。例如“如果用户(UserId)在 7 月份使用三星设备两次或更多次,那么它将计入三星设备。
为此,我使用此查询来获取 7 月份的用户总数。但我需要得到不同的用户
pipeline1 = [
{'$match':{'Month':'july'}},
{'$group':{'_id' : '$Device', 'count' : { '$sum' : 1 }}}
]
data = db.command('aggregate', 'collection', pipeline=pipeline1);