Kapitel 6: Dokumenteneinfügung in Golang MongoDB
Einfügen eines Dokuments
result, err := collection.InsertOne(
context.Background(), // Kontextparameter
bson.D{ // Definieren Sie ein JSON-Dokument mit bson.D
{"item", "Leinwand"},
{"qty", 100},
{"tags", bson.A{"Baumwolle"}},
{"size", bson.D{
{"h", 28},
{"w", 35.5},
{"uom", "cm"},
}},
})
// Die eindeutige ID für das Dokument abrufen
id := result.InsertedID
Tipp: Wenn Sie mit der Darstellung von Golang MongoDB-Daten nicht vertraut sind, lesen Sie bitte den Abschnitt "Golang MongoDB-Datenmodell" hier.
Äquivalent dazu das folgende JSON-Dokument einzufügen:
{
"item": "Leinwand",
"qty": 100,
"tags": ["Baumwolle"],
"size": {
"h": 28,
"w": 35.5,
"uom": "cm"
}
}
Abfragen des neu eingefügten Dokuments
cursor, err := collection.Find(
context.Background(),
bson.D{{"item", "Leinwand"}}, // Äquivalenter Ausdruck: {"item": "Leinwand"}
)
Masseneinfügung
result, err := collection.InsertMany(
context.Background(),
[]interface{}{ // Array von Dokumenten übergeben, fügt drei Datendokumente ein
bson.D{ // Datendokument 1
{"item", "Journal"},
{"qty", int32(25)},
{"tags", bson.A{"leer", "rot"}},
{"size", bson.D{
{"h", 14},
{"w", 21},
{"uom", "cm"},
}},
},
bson.D{ // Datendokument 2
{"item", "Unterlage"},
{"qty", int32(25)},
{"tags", bson.A{"grau"}},
{"size", bson.D{
{"h", 27.9},
{"w", 35.5},
{"uom", "cm"},
}},
},
bson.D{ // Datendokument 3
{"item", "Mauspad"},
{"qty", 25},
{"tags", bson.A{"Gel", "blau"}},
{"size", bson.D{
{"h", 19},
{"w", 22.85},
{"uom", "cm"},
}},
},
})
Alle Dokumente abfragen
cursor, err := collection.Find(
context.Background(),
bson.D{}, // Leere Abfragebedingung übergeben
)