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
)