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
)