我試圖執行使用golang氧化鎂 有效地得到一個加入不同的值的查詢,我明白,這可能不是蒙戈與之合作的最佳範例。的MgO聚集和分組
事情是這樣的:
pipe := []bson.M{
{
"$group": bson.M{
"_id": bson.M{"user": "$user"},
},
},
{
"$match": bson.M{
"_id": bson.M{"$exists": 1},
"user": bson.M{"$exists": 1},
"date_updated": bson.M{
"$gt": durationDays,
},
},
},
{
"$lookup": bson.M{
"from": "users",
"localField": "user",
"foreignField": "_id",
"as": "user_details",
},
},
{
"$lookup": bson.M{
"from": "organizations",
"localField": "organization",
"foreignField": "_id",
"as": "organization_details",
},
},
}
err := d.Pipe(pipe).All(&result)
如果我註釋掉$group
部分,查詢返回按預期的方式加入。
如果我跑的是,我得到NULL
如果我移動$group
到管道的底部我得到空數組響應值
是否有可能做做一個聚合$group
(目標是模擬DISTINCT
)?
感謝您的全面回答和解釋! – avrono