MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment écrire la forme bson de la requête mongo en golang?

Le problème avec votre code golang est que vous n'avez pas groupé.

Vous pouvez utiliser Pipe qui prépare un pipeline à agréger :

pipe := db.C(COLLECTION).Pipe([]bson.M{
    {"$match":  bson.M{"nfType": "AMF"}},
    {"$unwind": "$ipv4Addresses"},
    {"$group":  bson.M{
                       "_id": "$distance",
                       "ipv4Addresses": bson.M{"$addToSet": "$ipv4Addresses"},
                      }},
    {"$sort": bson.M{"_id": 1}},
    {"$limit": 1},

})

err := pipe.All(&ip)