Python MongoDB invoegen van documenten

Documenten in MongoDB zijn hetzelfde als records in een SQL-database.

het invoegen in een collectie

Om een record of wat we een document noemen, in een collectie van MongoDB in te voegen, gebruiken we insert_one() Methode.

insert_one() De eerste parameter van de methode is een woordenboek dat elke veldnaam en waarde bevat die je wilt invoegen in het document.

实例

Voeg een record toe aan de "customers"-collectie:

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)

Run Instance

retourneert het _id-veld

insert_one() De methode retourneert een InsertOneResult-object dat eigenschappen heeft ingevoegde_idgebruikt om de id van de ingevoegde documenten op te slaan.

实例

Voeg een ander record toe aan de "customers"-collectie en retourneer de waarde van het _id-veld:

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

Run Instance

Als je geen _id dan voegt MongoDB automatisch een veld toe en assigneert een unieke ID aan elk document.

In het voorbeeld hierboven is geen veld gespecificeerd _id veld, dus MongoDB assigneert een unieke _id aan elk record (document).

het invoegen van meerdere documenten

Om meerdere documenten in een collectie van MongoDB in te voegen, gebruiken we insert_many() Methode.

insert_many() De eerste parameter van de methode is een lijst met woordenboeken die de te inserteren gegevens bevatten:

实例

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 the list of _id values of the inserted documents:
print(x.inserted_ids)

Run Instance

insert_many() De methode retourneert een InsertManyResult-object, dat eigenschappen heeft inserted_idsgebruikt om de id's van de ingevoegde documenten op te slaan.

Inserteer meerdere documenten met gespecificeerde ID

Als je niet wilt dat MongoDB een unieke id toekent aan je documenten, kun je het _id-veld specificeren bij het invoegen van het document.

Onthoud dat de waarden uniek moeten zijn. Twee bestanden mogen geenzelfde _id hebben.

实例

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 the list of _id values of the inserted documents:
print(x.inserted_ids)

Run Instance