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)

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

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

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

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

نظرات

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

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