Forum IT Moldova

Python MongoDB "Ins...
 
Notificări
Șterge tot

Python MongoDB "Inserarea unui document"


Daniela
Postări: 187
Topic starter
(@daniela)
Membru
S-a alăturat: 3 ani în urmă

Python MongoDB "Inserarea unui document"

 

Un document în MongoDB este același ca o înregistrare în bazele de date SQL.

Inserarea în colecție

Pentru a introduce o înregistrare sau un document cum este numit în MongoDB într-o colecție, folosim insert_one().

Primul parametru al insert_one() metodei este un dicționar care conține numele (numele) și valoarea (valorile) fiecărui câmp din documentul pe care doriți să îl introduceți.

Exemplu

Inserați o înregistrare în colecția „clienți”:

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)

 

Întoarceți câmpul _id

insert_one()Metoda returneaza un obiect InsertOneResult, care are o proprietate, inserted_id, care deține ID - ul documentului introdus.

Exemplu

Introduceți o altă înregistrare în colecția „clienți” și returnați valoarea _id câmpului:

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

x = mycol.insert_one(mydict)

print(x.inserted_id)

Dacă nu specificați un câmp  _id, atunci MongoDB va adăuga unul pentru dvs. și va atribui un ID unic pentru fiecare document.

În exemplul de mai sus nu a fost specificat niciun câmp _id, astfel MongoDB a atribuit un _id unic pentru înregistrare (document).

 

Inserați mai multe documente

Pentru a insera mai multe documente într-o colecție în MongoDB, folosim insert_many().

Primul parametru al insert_many() este o listă care conține dicționare cu datele pe care doriți să le introduceți:

Exemplu

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() returneaza un obiect InsertManyResult, care are o proprietate, inserted_ids, care deține ID - urile documentelor introduse.

 

Inserați mai multe documente, cu ID-uri specificate

Dacă nu doriți ca MongoDB să aloce ID-uri unice pentru documentul dvs., puteți specifica câmpul _id când introduceți documentul (documentele).

Nu uitați că valorile trebuie să fie unice. Două documente nu pot avea același _id.

Exemplu

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)
Distribuie: