ដើម្បីបង្កើតមូលដ្ឋានទិន្នន័យផ្ទាល់ខ្លួនរបស់យើងមួយ នៅលើគេហទំព័ររបស់មូលដ្ឋានទិន្នន័យ MongoDB Atlas យើងចាំបាច់ត្រូវបង្កើតវត្ថុដែលជា instance នៃថ្នាក់ MongoClient ជាមុនសិន ដោយផ្តល់តំណរភ្ចាប់ទៅកាន់ account របស់យើងនៅលើគេហទំព័រ MongoDB ជា argument សំរាប់ constructor នៃថ្នាក់ MongoClient ដោយធ្វើដូចខាងក្រោមនេះ៖
from pymongo import MongoClient
myclient = MongoClient("mongodb+srv://username:mypassword@cluster0-y0whw.gcp.mongodb.net/test?retryWrites=true&w=majority")
mydb = myclient["mydatabase"]
យើងត្រូវធ្វើការកត់សំគាល់ថា ក្រោយពីបង្កើតរួចហើយ មូលដ្ឋានទិន្នន័យផ្ទាល់ខ្លួនរបស់យើង មិនទាន់បញ្ចេញរូបរាងអោយឃើញនៅឡើយនោះទេ គឺវាបង្ហាញរូបរាងតែនៅពេលណាដែលទិន្នន័យផ្សេងៗត្រូវបានបញ្ចូលទៅក្នុងនោះតែប៉ុណ្ណោះ។ អាស្រ័យហេតុនេះ យើងចាំបាច់ត្រូវបង្កើត collection មួយជាមុនសិនមុននឹងបញ្ចូលទិន្នន័យផ្សេងៗចូលទៅក្នុងនោះ។ សូមបញ្ជាក់ថា collection នៅក្នុងមូលដ្ឋានទិន្នន័យ MongoDB មានលក្ខណៈស្រដៀងគ្នានឹង table នៅក្នុងមូលដ្ឋានទិន្នន័យ SQL ។ ហើយការបង្កើត collection ត្រូវធ្វើឡើងដូចខាងក្រោមនេះ៖
from pymongo import MongoClient
myclient = MongoClient("mongodb+srv://username:mypassword@cluster0-y0whw.gcp.mongodb.net/test?retryWrites=true&w=majority")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
បន្ទាប់មកទៀត យើងអាចបញ្ជូលទិន្នន័យផ្សេងៗ ដែលមានប្រភេទជាសំណុំ dictionary នៅក្នុងភាសា Python ចូលទៅក្នុង collection "customers" បានដោយធ្វើដូចខាងក្រោមនេះ៖
from pymongo import MongoClient
myclient = MongoClient("mongodb+srv://username:mypassword@cluster0-y0whw.gcp.mongodb.net/test?retryWrites=true&w=majority")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydict = { "name": "John", "address": "Highway 37" }
x = mycol.insert_one(mydict)
នៅក្នុងមូលដ្ឋានទិន្នន័យ MongoDB ទិន្នន័យដែលជាសំណុំ dictionary នៅក្នុងភាសា Python ត្រូវគេអោយឈ្មោះថាជា document ។ ហើយការបញ្ចូល document ណាមួយចូលទៅក្នុង collection ណាមួយ ត្រូវធ្វើឡើងដោយប្រើប្រាស់ method ឈ្មោះ insert_one() ។
យ៉ាងណាម៉ិញ នៅពេលដែល document ណាមួយត្រូវបានបញ្ចូលទៅក្នុង collection ណាមួយ ប្រព័ន្ធ MongoDB និងបង្កើត item ថ្មីមួយទៀត បញ្ចូលទៅក្នុង document នោះ។ item ថ្មីនោះមាន key ដែលជា "_id" និង value ជាអត្តសញ្ញាណខុសគេតែមួយគត់ (unique id) សំរាប់ document ថ្មីនោះ។ ជាក់ស្តែង បន្ទាប់ពីបញ្ចូល document ខាងលើនេះ ចូលទៅក្នុងមូលដ្ឋានទិន្នន័យរបស់យើងហើយ បើយើងចូលទៅក្នុង account របស់យើងនៅលើគេហទំព័រ MongoDB Atlas យើងនឹងឃើញ item ថ្មីនោះ ដូចនៅក្នុងរូបខាងក្រោមនេះ៖
យ៉ាងណាម៉ិញ អត្តសញ្ញាណថ្មីតែមួយគត់នោះ នឹងត្រូវបញ្ចេញមកក្រៅ ដោយវិធីឈ្មោះ insert_one() នៅពេលដែលយើងយកវិធីនេះមកប្រើដើម្បីបញ្ចូលទិន្ននន័យ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
from pymongo import MongoClient
myclient = MongoClient("mongodb+srv://username:mypassword@cluster0-y0whw.gcp.mongodb.net/test?retryWrites=true&w=majority")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydict = { "name": "Peter", "address": "Lowstreet 27" }
x = mycol.insert_one(mydict)
print(x.inserted_id)
ក្រៅពីការបញ្ចូល document តែមួយចូលទៅក្នុង collection យើងក៏អាចបញ្ចូល document ជាច្រើនក្នុងពេលតែមួយចូលទៅក្នុង document បានដែរ ដោយប្រើប្រាស់ method ឈ្មោះ insert_many() ដូចខាងក្រោមនេះ៖
from pymongo import MongoClient
myclient = MongoClient("mongodb+srv://username:mypassword@cluster0-y0whw.gcp.mongodb.net/test?retryWrites=true&w=majority")
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)
មួយវិញទៀត បើសិនជាយើងចង់ជំនួសតំលៃរបស់ _id ដោយលេខណាមួយរបស់យើងផ្ទាល់ យើងអាចធ្វើដូចខាងក្រោមនេះ៖
from pymongo import MongoClient
myclient = MongoClient("mongodb+srv://username:mypassword@cluster0-y0whw.gcp.mongodb.net/test?retryWrites=true&w=majority")
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)