有一個mongodb的集合
要按照product_id進行分組,統計ip數去掉重複進行統計
如果是mysql的話就好操作。 但是用mongodb來處理,我找了半天,也沒發現有distinct對等的函數
我的思路是進行二次分組
原理: 先使用第一個分組對指定鍵上的所有值去重,然後使用第二個分組統計這些值。
db.goods.exposure.trace.pc.aggregate([
{ "$match": { "create_time": { "$gte": 1625068800,"$lte":1631030399},'product_id':{
'$in': [8628624]
}}},
{ "$group": {
"_id": {
"auid": "$product_id",
"uid": "$ip"
},
"count": { "$sum": 1 }
}},
{ "$group": {
"_id": '$_id.auid',
"count": { "$sum": 1 }
}},
])