Python MongoDB Voeg dokument in
'n Dokument in MongoDB is dieselfde as 'n rekord in SQL-databasisse.
Voeg in versameling in
Om 'n rekord, of dokument soos dit in MongoDB genoem word, in 'n versameling in te voeg, gebruik ons die
insert_one()
metode.
Die eerste parameter van die insert_one()
metode is 'n woordeboek wat die naam(e) en waarde(s) bevat van elke veld in die dokument wat jy wil invoeg.
Voorbeeld
Voeg 'n rekord in die "kliënte"-versameling in:
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)
Gee die _id-veld terug
Die insert_one()
metode gee 'n InsertOneResult-objek terug, wat 'n eienskap het, inserted_id
, wat die ID van die ingevoegde dokument bevat.
Voorbeeld
Voeg nog 'n rekord in die "kliënte"-versameling in en gee die waarde van die
_id
veld terug:
mydict = { "name": "Peter", "address": "Lowstreet 27" }
x = mycol.insert_one(mydict)
print(x.inserted_id)
As jy nie 'n _id
veld spesifiseer nie, sal MongoDB een vir jou byvoeg en 'n unieke ID vir elke dokument toewys.
In die voorbeeld hierbo is geen _id
veld gespesifiseer nie, so MongoDB het 'n unieke _id vir die rekord (dokument) toegeken.
Voeg verskeie dokumente in
Om veelvuldige dokumente in 'n versameling in MongoDB in te voeg, gebruik ons die
insert_many()
metode.
Die eerste parameter van die insert_many()
metode is 'n lys wat woordeboeke bevat met die data wat jy wil invoeg:
Voorbeeld
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)
Die insert_many()
metode gee 'n InsertManyResult-objek terug, wat 'n eienskap het, inserted_ids
, wat die ID's van die ingevoegde dokumente bevat.
Voeg veelvuldige dokumente in, met gespesifiseerde ID's
As jy nie wil hê dat MongoDB unieke ID's vir jou dokument toeken nie, kan jy die _id-veld spesifiseer wanneer jy die dokument(e) invoeg.
Onthou dat die waardes uniek moet wees. Twee dokumente kan nie dieselfde _id hê nie.
Voorbeeld
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)