MongoDB Insert

Python MongoDB Insert Document

insert into Collection

برای وارد کردن یک record یا document (در MongoDB به این نام شناخته می‌شود) در یک Collection باید از متد ()insert_one استفاده کرد.

 

اولین پارامتر متد ()insert_one یک دیکشنری حاوی نام (name)ها و مقادیری (value) است که میخواهید به Collection وارد کنید است.

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 object  را برمی‌گرداند که proprty هایی دارد ازجمله inserted_id که وظیفه نگه داشتن id داکیومنت وارد شده را دارد.

mydict = { "name": "Peter", "address": "Lowstreet 27" }

x = mycol.insert_one(mydict)

print(x.inserted_id)

اگر هیچ id خاصی را به یک فیلد اختصاص ندهید MongoDB برای آن یک id منحصر به فرد درنظر می‌گیرد. مانند مثال قبل.

Insert Multiple Documents

برای وارد کردن چند داکیومنت در 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 object را برمی‌گرداند که حاوی proprty هایی از جمله insert_ids است که وظیفه نگه داشتن id های داکیومنت های وارد شده را دارد.

وارد کردن چندین داکیومنت با 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)

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