Heim > Backend-Entwicklung > Golang > Wie frage ich unstrukturierte MongoDB-Sammlungen in Go mit mgo ab?

Wie frage ich unstrukturierte MongoDB-Sammlungen in Go mit mgo ab?

Barbara Streisand
Freigeben: 2024-12-26 08:44:14
Original
576 Leute haben es durchsucht

How to Query Unstructured MongoDB Collections in Go with mgo?

Umgang mit unstrukturierten MongoDB-Sammlungen in Go mit mgo

Beim Abfragen einer Sammlung in MongoDB mit mgo ist es möglich, die Daten, die verarbeitet werden sollen, vorzudefinieren in einer Struktur zurückgegeben werden, wie anhand des bereitgestellten Person-Strukturbeispiels demonstriert wird. Es kann jedoch vorkommen, dass die Dokumente in der Sammlung unterschiedliche Schlüsselsätze haben.

So gehen Sie mit unstrukturierten Sammlungen in Go / mgo um

Es gibt mehrere Möglichkeiten um unstrukturierte Sammlungen in Go / mgo zu verarbeiten:

Verwenden von a map:

Durch die Verwendung eines bson.M-Typs, der eine Map[string]-Schnittstelle{} ist, können Sie die Dokumentdaten direkt speichern, ohne eine bestimmte Struktur zu definieren.

var m bson.M
err := collection.Find(nil).One(&m)
check(err)
for key, value := range m {
    fmt.Println(key, value)
}
Nach dem Login kopieren

Verwenden eines Dokument-Slice:

bson.D ist ein Slice-Typ, der die Reihenfolge der Schlüssel beibehält und einen effizienten Mechanismus bietet für den Umgang mit Dokumenten.

var d bson.D
err := collection.Find(nil).One(&d)
check(err)
for i, elem := range d {
    fmt.Println(elem.Name, elem.Value)
}
Nach dem Login kopieren

Verwenden eines Inline-Kartenfelds:

Durch die Verwendung des Inline-BSON-Flags in einem Kartenfeld in einer Struktur können Sie die kombinieren Bequemlichkeit der Verwendung einer Struktur mit der Flexibilität, unbekannte Felder zu verarbeiten.

type Person struct {
    ID        bson.ObjectId `bson:"_id,omitempty"`
    Name      string
    Phone     string
    Extra     bson.M `bson:",inline"`
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie frage ich unstrukturierte MongoDB-Sammlungen in Go mit mgo ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage