این فصل نحوه وارد کردن دادههای سند به MongoDB با استفاده از مونگو شل را معرفی میکند.
وارد کردن یک سند
برای وارد کردن یک سند به یک مجموعه، از روش db.collection.insertOne()
استفاده میشود.
اگر سند شامل فیلد _id
نباشد، MongoDB به طور خودکار یک ObjectId
یکتا برای فیلد _id
ایجاد خواهد کرد.
توجه:
ObjectId
یک مولفه داخلی برای ایجاد شناسه یکتا در MongoDB استفاده شده برای تولید شناسه.
مثال: وارد کردن یک سند به مجموعه inventory:
db.inventory.insertOne(
{ item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
)
خروجی:
{
"acknowledged" : true,
"insertedId" : ObjectId("609bf11dfc901345cafc438a")
}
در صورت موفقیت آمیز بودن وارد کردن، کلید اصلی را برمیگرداند. فیلد insertedId
شناسه یکتای ایجاد شده به طور خودکار توسط MongoDB است. اگر مجموعه inventory وجود نداشته باشد، به طور خودکار ایجاد میشود.
جستجوی دادههای سند وارد شده:
> db.inventory.find( { item: "canvas" } )
{ "_id" : ObjectId("609bf11dfc901345cafc438a"), "item" : "canvas", "qty" : 100, "tags" : [ "cotton" ], "size" : { "h" : 28, "w" : 35.5, "uom" : "cm" } }
استفاده از روش find
، شرط جستجوی دادههای سند را که item
برابر با "canvas" است، وارد کنید.
وارد کردن چندین سند
روش db.collection.insertMany()
میتواند چندین سند را به یک مجموعه وارد کند.
مثال:
وارد کردن سه دادهی سند با ارسال یک آرایه به روش insertMany
:
db.inventory.insertMany([
{ item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
{ item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
{ item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])
مقدار برگشتی:
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("609bf30ffc901345cafc438b"),
ObjectId("609bf30ffc901345cafc438c"),
ObjectId("609bf30ffc901345cafc438d")
]
}
شامل شناسههای سه سند جدید وارد شده میشود.
رفتار وارد کردن
ایجاد مجموعه
در MongoDB نیازی به ایجاد یک مجموعه از پیش نیست. هنگام وارد کردن داده برای بار اول، اگر مجموعه وجود نداشته باشد، به طور خودکار ایجاد میشود.
فیلد _id
در MongoDB، هر سند ذخیره شده در یک مجموعه دارای یک فیلد _id
یکتا به عنوان کلید اصلی عمل میکند. اگر سند وارد شده فیلد _id
را حذف کند، درایور MongoDB به طور خودکار یک ObjectId
برای فیلد _id
ایجاد میکند.
اتمیت
تمام عملیات نوشتن در MongoDB عملیات هستند که در سطح تک سند اتمیک هستند.