Capitolo 6: Inserimento di Documenti in Golang MongoDB
Inserire un Documento
result, err := collection.InsertOne(
context.Background(), // Parametro Context
bson.D{ // Definire un documento JSON usando bson.D
{"item", "tela"},
{"qty", 100},
{"tags", bson.A{"cotone"}},
{"size", bson.D{
{"h", 28},
{"w", 35.5},
{"uom", "cm"},
}},
})
// Ottenere l'ID univoco generato per il documento
id := result.InsertedID
Suggerimento: Se non sei familiare con la rappresentazione dei dati di Golang MongoDB, consulta la sezione "Modello dei Dati Golang MongoDB" qui.
Equivalente all'inserimento del seguente documento JSON:
{
"item": "tela",
"qty": 100,
"tags": ["cotone"],
"size": {
"h": 28,
"w": 35.5,
"uom": "cm"
}
}
Interrogare il Documento Appena Inserito
cursor, err := collection.Find(
context.Background(),
bson.D{{"item", "tela"}}, // Espressione equivalente: {"item": "tela"}
)
Inserimento di Massa
result, err := collection.InsertMany(
context.Background(),
[]interface{}{ // Passare un array di documenti, inserire i dati di tre documenti
bson.D{ // Dati del documento 1
{"item", "giornale"},
{"qty", int32(25)},
{"tags", bson.A{"vuoto", "rosso"}},
{"size", bson.D{
{"h", 14},
{"w", 21},
{"uom", "cm"},
}},
},
bson.D{ // Dati del documento 2
{"item", "tappetino"},
{"qty", int32(25)},
{"tags", bson.A{"grigio"}},
{"size", bson.D{
{"h", 27.9},
{"w", 35.5},
{"uom", "cm"},
}},
},
bson.D{ // Dati del documento 3
{"item", "tappetino per mouse"},
{"qty", 25},
{"tags", bson.A{"gel", "blu"}},
{"size", bson.D{
{"h", 19},
{"w", 22.85},
{"uom", "cm"},
}},
},
})
Interrogare Tutti i Documenti
cursor, err := collection.Find(
context.Background(),
bson.D{}, // Passare una condizione di query vuota
)