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

Wie gehe ich mit einem willkürlichen Hash um, der von mongo in go zurückgegeben wird (mit mgo)?

Sie können zum Beispiel eine generische Karte verwenden:

var result map[string]interface{}
err := collection.Find(query).One(&result)

Sie werden Leute finden, die bson.M verwenden , die auch eine Karte mit demselben zugrunde liegenden Typ ist. bson.M ist nichts Besonderes , obwohl. Es ist nur ein kurzer und praktischer Name für eine Karte. Sie können Ihren eigenen praktischen Namen erstellen oder eine einfache Karte wie im obigen Beispiel verwenden.

Eine andere Möglichkeit, auf Dokumente ohne definiertes Schema zuzugreifen, ist die Verwendung von bson.D anstelle des Kartentyps oben. bson.D ist am nützlichsten, wenn die Reihenfolge der Elemente im Dokument relevant ist oder wenn Sie den Arbeitsaufwand etwas reduzieren möchten (Maps sind aufgrund ihrer Natur etwas teurer in der Handhabung). Der bson.D Typ ist ein Segment von Strukturwerten mit Schlüssel/Wert-Paaren. Im Gegensatz zu bson.M , bson.D ist etwas Besonderes und wird intern vom mgo/bson-Paket gehandhabt.