บทที่ 6: การแทรกเอกสารใน Golang MongoDB
แทรกเอกสาร
result, err := collection.InsertOne(
context.Background(), // พารามิเตอร์ Context
bson.D{ // กำหนดเอกสาร JSON โดยใช้ bson.D
{"item", "canvas"},
{"qty", 100},
{"tags", bson.A{"cotton"}},
{"size", bson.D{
{"h", 28},
{"w", 35.5},
{"uom", "cm"},
}},
})
// รับ Unique ID ที่สร้างขึ้นสำหรับเอกสาร
id := result.InsertedID
คำแนะนำ: หากคุณไม่คุ้นเคยกับการแสดงข้อมูล Golang MongoDB โปรดอ้างถึงส่วน "โมเดลข้อมูล Golang MongoDB" ที่นี่ ที่นี่.
เทียบเท่ากับการแทรกเอกสาร JSON ต่อไปนี้:
{
"item": "canvas",
"qty": 100,
"tags": ["cotton"],
"size": {
"h": 28,
"w": 35.5,
"uom": "cm"
}
}
คำขอแบบสอบถามเอกสารที่แทรกล่าสุด
cursor, err := collection.Find(
context.Background(),
bson.D{{"item", "canvas"}}, // นิพจน์เทียบเท่า: {"item": "canvas"}
)
การแทรกเป็นเบ็ดเพิ่มขึ้น
result, err := collection.InsertMany(
context.Background(),
[]interface{}{ // ส่งอาร์เรย์ของเอกสารเข้าไป แทรกข้อมูลเอกสารทั้งหมด 3 เอกสาร
bson.D{ // ข้อมูลเอกสาร 1
{"item", "journal"},
{"qty", int32(25)},
{"tags", bson.A{"blank", "red"}},
{"size", bson.D{
{"h", 14},
{"w", 21},
{"uom", "cm"},
}},
},
bson.D{ // ข้อมูลเอกสาร 2
{"item", "mat"},
{"qty", int32(25)},
{"tags", bson.A{"gray"}},
{"size", bson.D{
{"h", 27.9},
{"w", 35.5},
{"uom", "cm"},
}},
},
bson.D{ // ข้อมูลเอกสาร 3
{"item", "mousepad"},
{"qty", 25},
{"tags", bson.A{"gel", "blue"}},
{"size", bson.D{
{"h", 19},
{"w", 22.85},
{"uom", "cm"},
}},
},
})
คำขอแบบสอบถามเอกสารทั้งหมด
cursor, err := collection.Find(
context.Background(),
bson.D{}, // ส่งเงื่อนไขคิวรี่เปล่าเข้าไป
)