Python MongoDB 插入文档

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ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਦਸਤਾਵੇਜ਼ਾਂ ਦੇ ਆਈਡੀ ਬਚਾਉਣ ਲਈ

ਇੱਕ ਨਿਰਧਾਰਿਤ ਆਈਡੀ ਦੇ ਨਾਲ ਦਸਤਾਵੇਜ਼ ਸ਼ਾਮਲ ਕਰੋ

ਅਗਰ ਤੁਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ 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)
# ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਦਸਤਾਵੇਜ਼ ਦੇ  _id ਕੀ ਲਿਸਟ ਪ੍ਰਿੰਟ ਕਰੋ:
print(x.inserted_ids)

ਇੰਸਟੈਂਸ ਚਲਾਓ