Python – درج داده (MongoDB Insert)

درج سند در MongoDB

در MongoDB، یک سند (Document) معادل یک رکورد در پایگاه داده‌های SQL است.

درج در کلکسیون

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

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

مثال

درج یک رکورد در کلکسیون “customers”:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mydict = { "name": "John", "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 یکی برای شما ایجاد کرده و به هر سند یک شناسه منحصر به فرد اختصاص می‌دهد.

درج چندین سند

برای درج چندین سند در یک کلکسیون در 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)

#print list of the _id values of the inserted documents:
print(x.inserted_ids)

متد insert_many() یک شیء از نوع InsertManyResult برمی‌گرداند که ویژگی inserted_ids را دارد که شناسه‌های اسناد درج شده را نگه می‌دارد.

درج چندین سند با شناسه‌های مشخص

اگر نمی‌خواهید MongoDB به صورت خودکار شناسه‌های منحصر به فرد برای اسناد شما اختصاص دهد، می‌توانید فیلد _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)

#print list of the _id values of the inserted documents:
print(x.inserted_ids)

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - تاریخ‌ها (Dates)

JavaScript – تاریخ‌ها (Dates)

آبجکت‌های تاریخ (Date) در جاوااسکریپت آبجکت‌های تاریخ در جاوااسکریپت به ما امکان کار با تاریخ و زمان را می‌دهند....

بیشتر بخوانید
JavaScript - آرایه‌های ثابت (Array Const)

JavaScript – آرایه‌های ثابت (Array Const)

جاوااسکریپت: تعریف آرایه با const در سال 2015، جاوااسکریپت کلمه کلیدی مهمی به نام const را معرفی کرد. این...

بیشتر بخوانید
JavaScript - تکرار آرایه‌ها (Array Iteration)

JavaScript – تکرار آرایه‌ها (Array Iteration)

جاوا اسکریپت: تکرار بر روی آرایه‌ها جاوا اسکریپت روش‌های مختلفی برای تکرار (Iteration) بر روی آرایه‌ها ارائه می‌دهد که...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.