درج مستند در MongoDB با استفاده از Python

مستندات MongoDB مشابه رکوردهای پایگاه داده SQL هستند.

افزودن به مجموعه

برای اضافه کردن یک رکورد یا مستند به مجموعه در MongoDB، ما از insert_one() متد.

insert_one() اولین پارامتر متد یک دیکشنری است که شامل نام و مقدار هر فیلد مستند مورد نظر است.

مثال

یک رکورد به مجموعه "customers" اضافه کنید:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydict = { "name": "Bill", "address": "Highway 37" }
x = mycol.insert_one(mydict)

اجرای نمونه

برمی‌گرداند فیلد _id

insert_one() متد InsertOneResult را برمی‌گرداند، که دارای ویژگی‌هایی است inserted_id، برای ذخیره ID مستندات وارد شده استفاده می‌شود.

مثال

یک رکورد دیگر به مجموعه "customers" اضافه کنید و مقدار _id را بازگردانید:

mydict = { "name": "Peter", "address": "Lowstreet 27" }
x = mycol.insert_one(mydict)
print(x.inserted_id)

اجرای نمونه

اگر _id فیلد مشخص نشده است، بنابراین MongoDB یک فیلد برای شما اضافه می‌کند و یک ID منحصر به فرد برای هر مستند اختصاص می‌دهد.

در مثال بالا، هیچ یک از _id فیلد، بنابراین MongoDB برای ثبت‌ها (مستندات) یک _id منحصر به فرد اختصاص می‌دهد.

افزودن چندین مستند

برای اضافه کردن چندین مستند به مجموعه‌ای در MongoDB، ما از insert_many() متد.

insert_many() متد اولین پارامتر را شامل لیستی از دیکشنری‌ها می‌کند که داده‌های وارد شده را شامل می‌شود:

مثال

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mylist = [
  {"name": "Amy", "address": "Apple st 652"},
  {"name": "Hannah", "address": "Mountain 21"},
  {"name": "Michael", "address": "Valley 345"},
  {"name": "Sandy", "address": "Ocean blvd 2"},
  {"name": "Betty", "address": "Green Grass 1"},
  {"name": "Richard", "address": "Sky st 331"},
  {"name": "Susan", "address": "One way 98"},
  { "name": "Vicky", "address": "Yellow Garden 2"},
  { "name": "Ben", "address": "Park Lane 38"},
  { "name": "William", "address": "Central st 954"},
  { "name": "Chuck", "address": "Main Road 989"},
  { "name": "Viola", "address": "Sideway 1633"}
]
x = mycol.insert_many(mylist)
# لیست _id ارزش‌های مستندات اضافه‌شده چاپ شود:
print(x.inserted_ids)

اجرای نمونه

insert_many() این روش یک شیء InsertManyResult را برمی‌گرداند که دارای ویژگی‌هایی مانند inserted_idsبرای ذخیره‌سازی id مستندات اضافه شده استفاده می‌شود.

اضافه کردن چندین مستند با ID مشخص شده

اگر نمی‌خواهید MongoDB یک id منحصر به فرد برای مستندات شما اختصاص دهد، می‌توانید در هنگام اضافه کردن مستند، زمینه _id را مشخص کنید.

لطفاً به خاطر داشته باشید که مقادیر باید منحصر به فرد باشند. دو فایل نمی‌توانند دارای _id مشابهی باشند.

مثال

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mylist = [
  { "_id": 1, "name": "John", "address": "Highway 37"},
  { "_id": 2, "name": "Peter", "address": "Lowstreet 27"},
  { "_id": 3, "name": "Amy", "address": "Apple st 652"},
  { "_id": 4, "name": "Hannah", "address": "Mountain 21"},
  { "_id": 5, "name": "Michael", "address": "Valley 345"},
  { "_id": 6, "name": "Sandy", "address": "Ocean blvd 2"},
  { "_id": 7, "name": "Betty", "address": "Green Grass 1"},
  {"_id": 8, "name": "Richard", "address": "Sky st 331"}
  {"_id": 9, "name": "Susan", "address": "One way 98"},
  {"_id": 10, "name": "Vicky", "address": "Yellow Garden 2"},
  {"_id": 11, "name": "Ben", "address": "Park Lane 38"},
  {"_id": 12, "name": "William", "address": "Central st 954"},
  {"_id": 13, "name": "Chuck", "address": "Main Road 989"},
  {"_id": 14, "name": "Viola", "address": "Sideway 1633"}
]
x = mycol.insert_many(mylist)
# لیست _id ارزش‌های مستندات اضافه‌شده چاپ شود:
print(x.inserted_ids)

اجرای نمونه