私はこのようなデータを持っています
{ "_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 月に samsung デバイスを 2 回以上使用した場合、samsung の 1 つとしてカウントされます。
このために、このクエリを使用して、7 月のユーザーの総数を取得しました。しかし、私は明確なユーザー数を取得する必要があります
pipeline1 = [
{'$match':{'Month':'july'}},
{'$group':{'_id' : '$Device', 'count' : { '$sum' : 1 }}}
]
data = db.command('aggregate', 'collection', pipeline=pipeline1);