Python MongoDB indsættelse af dokument

Dokumenter i MongoDB er ens med poster i SQL-databaser.

indsættelse af samling

For at indsætte en optagelse eller det, vi kalder et dokument, i en samling i MongoDB, bruger vi insert_one() Metode.

insert_one() Første parameter til metoden er en dictionary, der indeholder hver feltets navn og værdi, der ønskes indsat i dokumentet.

eksempel

Indsæt en post i "customers"-samlingen:

import pymongo
minklient = pymongo.MongoClient("mongodb://localhost:27017/")
mindb = minklient["mindatabase"]
minkol = mindb["kunder"]
mydict = { "name": "Bill", "address": "Highway 37" }
x = mycol.insert_one(mydict)

Kør Eksempel

returnerer _id-feltet

insert_one() metoden returnerer en InsertOneResult-objekt, der har egenskaber inserted_idbruges til at gemme id'et for de indsatte dokumenter.

eksempel

Indsæt et nyt element i "customers"-samlingen og returner værdien af _id-feltet:

mydict = { "name": "Peter", "address": "Lowstreet 27" }
x = mycol.insert_one(mydict)
print(x.inserted_id)

Kør Eksempel

Hvis du ikke specificerer _id felt, så MongoDB tilføjer en for dig og tildeler en unik ID til hver dokument.

I det foregående eksempel blev der ikke specificeret _id felt, derfor tildeler MongoDB en unik _id til hver optagelse (dokument).

indsættelse af flere dokumenter

For at indsætte flere dokumenter i en samling i MongoDB, bruger vi indsæt_mange() Metode.

indsæt_mange() Første parameter til metoden er en liste af dictionaries, der indeholder data, der skal indsættes:

eksempel

import pymongo
minklient = pymongo.MongoClient("mongodb://localhost:27017/")
mindb = minklient["mindatabase"]
minkol = mindb["kunder"]
minliste = [
  {"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)
# Udskriv listen over _id-værdier for de indsatte dokumenter:
print(x.inserted_ids)

Kør Eksempel

indsæt_mange() metoden returnerer et InsertManyResult-objekt, der har egenskaber indsat_idsbruges til at gemme id'erne på de indsatte dokumenter.

Indsæt flere dokumenter med angivet ID

Hvis du ikke ønsker, at MongoDB skal tildele et unikt id til dine dokumenter, kan du specificere _id-feltet, når du indsætter dokumentet.

Bemærk, værdier skal være unikke. To filer kan ikke have samme _id.

eksempel

import pymongo
minklient = pymongo.MongoClient("mongodb://localhost:27017/")
mindb = minklient["mindatabase"]
minkol = mindb["kunder"]
minliste = [
  { "_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)
# Udskriv listen over _id-værdier for de indsatte dokumenter:
print(x.inserted_ids)

Kør Eksempel