Chapitre 6: Insertion de documents dans Golang MongoDB

Insérer un document

result, err := collection.InsertOne(
	contexte.Background(),  // Paramètre de contexte
	bson.D{   // Définir un document JSON en utilisant bson.D
		{"article", "toile"},
		{"qty", 100},
		{"tags", bson.A{"coton"}},
		{"taille", bson.D{
			{"h", 28},
			{"w", 35.5},
			{"uom", "cm"},
		}},
	})
	
// Obtenir l'ID unique généré pour le document
id := result.InsertedID

Astuce : Si vous n'êtes pas familier avec la représentation des données Golang MongoDB, veuillez consulter la section "Modèle de données Golang MongoDB" ici.

Équivalent à l'insertion du document JSON suivant :

{
	"article": "toile",
	"qty": 100,
	"tags": ["coton"],
	"taille": {
		"h": 28,
		"w": 35.5,
		"uom": "cm"
	}
}

Interroger le nouveau document inséré

cursor, err := collection.Find(
	contexte.Background(),
	bson.D{{"article", "toile"}},  // Expression équivalente : {"article": "toile"}
)

Insertion en masse

result, err := collection.InsertMany(
	contexte.Background(),
	[]interface{}{   // Passer un tableau de documents, insérer trois données de document
		bson.D{ // Données du document 1
			{"article", "journal"},
			{"qty", int32(25)},
			{"tags", bson.A{"vide", "rouge"}},
			{"taille", bson.D{
				{"h", 14},
				{"w", 21},
				{"uom", "cm"},
			}},
		},
		bson.D{ // Données du document 2
			{"article", "tapis"},
			{"qty", int32(25)},
			{"tags", bson.A{"gris"}},
			{"taille", bson.D{
				{"h", 27.9},
				{"w", 35.5},
				{"uom", "cm"},
			}},
		},
		bson.D{ // Données du document 3
			{"article", "tapis de souris"},
			{"qty", 25},
			{"tags", bson.A{"gel", "bleu"}},
			{"taille", bson.D{
				{"h", 19},
				{"w", 22.85},
				{"uom", "cm"},
			}},
		},
	})

Interroger tous les documents

cursor, err := collection.Find(
	contexte.Background(),
	bson.D{}, // Passer une condition de requête vide
)