J'essaie d'effectuer une requête en utilisant golang mgo pour obtenir des valeurs distinctes d'une jointure, je comprends que ce n'est peut-être pas le meilleur paradigme pour travailler avec Mongo.mgo avec l'agrégation et le groupage
Quelque chose comme ceci:
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)
Si je commente la section $group
, la requête renvoie la jointure comme prévu.
Si je cours comme il est, je reçois NULL
Si je déplace le $group
au fond du tube, je reçois une réponse de tableau avec des valeurs nulles
Est-il possible de faire faire une agrégation avec $group
(avec l'objectif de simuler DISTINCT
)?
merci pour une réponse et une explication si complètes! – avrono