MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie schreibe ich eine bson-Form der Mongo-Abfrage in Golang?

Das Problem mit Ihrem Golang-Code ist, dass Sie nicht gruppiert haben.

Sie können Pipe verwenden die eine Pipeline zum Aggregieren vorbereitet:

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)