فصل 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"},
}},
})
// دریافت شناسه منحصر به فرد تولید شده برای سند
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{}{ // ارسال یک آرایه از اسناد، درج دادههای سند سهتایی
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{}, // ارسال یک شرط پرس و جو خالی
)