Recomendazione di corso:

Inserimento di documenti Python MongoDB

I documenti in MongoDB sono simili ai record nei database SQL.

Inserimento nella raccolta Restituisce il campo _id Metodo.

Restituisce il campo _id Per inserire un record o il documento che chiamiamo in una raccolta di MongoDB, utilizziamo

istanza

Il primo parametro del metodo è un dizionario che contiene ogni nome e valore del campo che si desidera inserire nel documento.

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
Inserisci un record nella raccolta "customers":
mydict = { "name": "Peter", "address": "Lowstreet 27" }

Eseguire l'istanza

mydict = { "name": "Bill", "address": "Highway 37" }

Restituisce il campo _id insert_one() Il metodo restituisce un oggetto InsertOneResult, che possiede le proprietàinserted_id

istanza

,per salvare l'id del documento inserito.

Inserisci un altro record nella raccolta "customers" e ritorna il valore del campo _id:
mydict = { "name": "Peter", "address": "Lowstreet 27" }
x = mycol.insert_one(mydict)

Eseguire l'istanza

print(x.inserted_id) _id Se non specifici il campo

Nell'esempio precedente, non è stato specificato _id Il campo, quindi MongoDB assegna un _id unico ai record (documenti).

Inserimento di più documenti

Per inserire più documenti in una raccolta di MongoDB, utilizziamo insert_many() Metodo.

insert_many() Il primo parametro del metodo è una lista di dizionari che contiene i dati da inserire:

istanza

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)
# Stampa la lista di valori di _id dei documenti inseriti:
print(x.inserted_ids)

Eseguire l'istanza

insert_many() Il metodo restituisce un oggetto InsertManyResult, che possiede le proprietà inserted_idsusato per salvare l'id dei documenti inseriti.

Inserisci più documenti con ID specificato

Se non desideri che MongoDB assegni un id unico ai tuoi documenti, puoi specificare il campo _id al momento dell'inserimento del documento.

Ricorda, i valori devono essere unici. Due file non possono avere lo stesso _id.

istanza

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)
# Stampa la lista di valori di _id dei documenti inseriti:
print(x.inserted_ids)

Eseguire l'istanza