Bab 6: Penyisipan Dokumen di MongoDB Golang

Menyisipkan Dokumen

result, err := collection.InsertOne(
	context.Background(),  // Parameter Konteks
	bson.D{   // Mendefinisikan dokumen JSON menggunakan bson.D
		{"item", "kanvas"},
		{"qty", 100},
		{"tags", bson.A{"katun"}},
		{"size", bson.D{
			{"h", 28},
			{"w", 35.5},
			{"uom", "cm"},
		}},
	})
	
// Dapatkan ID unik yang dihasilkan untuk dokumen
id := result.InsertedID

Tip: Jika Anda tidak familiar dengan representasi data Golang MongoDB, silakan lihat bagian "Model Data MongoDB Golang" di sini.

Setara dengan menyisipkan dokumen JSON berikut:

{
	"item": "kanvas",
	"qty": 100,
	"tags": ["katun"],
	"size": {
		"h": 28,
		"w": 35.5,
		"uom": "cm"
	}
}

Meminta Dokumen yang Baru Disisipkan

cursor, err := collection.Find(
	context.Background(),
	bson.D{{"item", "kanvas"}},  // Ekspresi setara: {"item": "kanvas"}
)

Penyisipan Massal

result, err := collection.InsertMany(
	context.Background(),
	[]interface{}{   // Berikan sebuah array dokumen, sisipkan data dari tiga dokumen
		bson.D{ // Data dokumen 1
			{"item", "jurnal"},
			{"qty", int32(25)},
			{"tags", bson.A{"kosong", "merah"}},
			{"size", bson.D{
				{"h", 14},
				{"w", 21},
				{"uom", "cm"},
			}},
		},
		bson.D{ // Data dokumen 2
			{"item", "matras"},
			{"qty", int32(25)},
			{"tags", bson.A{"abu"}},
			{"size", bson.D{
				{"h", 27.9},
				{"w", 35.5},
				{"uom", "cm"},
			}},
		},
		bson.D{ // Data dokumen 3
			{"item", "pad mouse"},
			{"qty", 25},
			{"tags", bson.A{"gel", "biru"}},
			{"size", bson.D{
				{"h", 19},
				{"w", 22.85},
				{"uom", "cm"},
			}},
		},
	})

Meminta Semua Dokumen

cursor, err := collection.Find(
	context.Background(),
	bson.D{}, // Berikan kondisi kueri kosong
)