Chương 6: Chèn Tài Liệu trong Golang MongoDB
Chèn Một Tài Liệu
result, err := collection.InsertOne(
context.Background(), // Tham số Ngữ cảnh
bson.D{ // Định nghĩa một tài liệu JSON bằng bson.D
{"item", "canvas"},
{"qty", 100},
{"tags", bson.A{"cotton"}},
{"size", bson.D{
{"h", 28},
{"w", 35.5},
{"uom", "cm"},
}},
})
// Lấy ID duy nhất được tạo ra cho tài liệu
id := result.InsertedID
Mẹo: Nếu bạn chưa quen với cách biểu diễn dữ liệu Golang MongoDB, vui lòng tham khảo phần "Mô Hình Dữ Liệu Golang MongoDB" tại đây.
Tương đương với việc chèn tài liệu JSON sau:
{
"item": "canvas",
"qty": 100,
"tags": ["cotton"],
"size": {
"h": 28,
"w": 35.5,
"uom": "cm"
}
}
Truy Vấn Tài Liệu Vừa Chèn
cursor, err := collection.Find(
context.Background(),
bson.D{{"item", "canvas"}}, // Biểu diễn tương đương: {"item": "canvas"}
)
Chèn Nhiều Tài Liệu Cùng Một Lúc
result, err := collection.InsertMany(
context.Background(),
[]interface{}{ // Truyền vào một mảng các tài liệu, chèn ba tài liệu dữ liệu
bson.D{ // Dữ liệu tài liệu 1
{"item", "journal"},
{"qty", int32(25)},
{"tags", bson.A{"blank", "red"}},
{"size", bson.D{
{"h", 14},
{"w", 21},
{"uom", "cm"},
}},
},
bson.D{ // Dữ liệu tài liệu 2
{"item", "mat"},
{"qty", int32(25)},
{"tags", bson.A{"gray"}},
{"size", bson.D{
{"h", 27.9},
{"w", 35.5},
{"uom", "cm"},
}},
},
bson.D{ // Dữ liệu tài liệu 3
{"item", "mousepad"},
{"qty", 25},
{"tags", bson.A{"gel", "blue"}},
{"size", bson.D{
{"h", 19},
{"w", 22.85},
{"uom", "cm"},
}},
},
})
Truy Vấn Tất Cả Các Tài Liệu
cursor, err := collection.Find(
context.Background(),
bson.D{}, // Truyền vào điều kiện truy vấn trống
)