នៅក្នុងមូលដ្ឋានទិន្នន័យ MongoDB ការស្រង់យកទិន្នន័យនៅក្នង collection ផ្សេងៗមកប្រើ អាចត្រូវធ្វើឡើងដោយការប្រើប្រាស់ method ឈ្មោះ find() និង findOne() ។ ពោលគឺស្រដៀងគ្នានឹងការប្រើប្រាស់បញ្ជា SELECT ក្នុងការស្រង់យកទិន្នន័យនៅក្នុង table ទាំងឡាយមកប្រើ នៅក្នុងមូលដ្ឋានទិន្នន័យដែលប្រើភាសា SQL ដែរ។
ដោយឡែក បើសិនជាយើងចង់ស្រង់យកទិន្នន័យដែល document ណាមួយ នៅខាងដើមគេនៅក្នុង collection ណាមួយមកប្រើ យើងត្រូវប្រើប្រាស់ method ឈ្មោះ find_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"] x = mycol.find_one() print(x)
{'_id': ObjectId('5f30eb601276f8b5f34f4cb4'), 'name': 'John', 'address': 'Highway 37'}
លើសពីនេះទៀត បើសិនជាយើងចង់ស្រង់យកទិន្នន័យដែលជា document ទាំងអស់នៅក្នុង collection ណាមួយ មកប្រើការ យើងចាំបាច់ត្រូវប្រើប្រាស់ method ឈ្មោះ find() ដូចខាងក្រោមនេះ៖
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"] for x in mycol.find(): print(x)
មួយវិញទៀត យើងក៏អាចប្រើប្រាស់ method ឈ្មោះ find() នេះសំរាប់ស្រង់យក ឬមិនស្រង់យក item មួយចំនួនពីបណ្តា document ទាំងឡាយដែលមាននៅក្នុង cellection ណាមួយបានដែរ ដោយធ្វើដូចខាងក្រោមនេះ៖
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"] for x in mycol.find({},{ "_id": 0 }): print(x)
{'name': 'John', 'address': 'Highway 37'}
{'name': 'Peter', 'address': 'Lowstreet 27'}
{'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'}
{'name': 'John', 'address': 'Highway 37'}
{'name': 'Peter', 'address': 'Lowstreet 27'}
{'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'}
ដូចនេះ យើងសង្កេតឃើញថា ចំពោះ item ដែលយើងមិនចង់ស្រង់យកមកប្រើការ យើងអាចបិទវាចោលបាន ដោយផ្តល់តំលៃអោយទៅ key របស់វាអោយស្មើនឹងសូន្យ។ តែបើយើងចង់ជ្រើសរើសតែ item មួយចំនួនមកប្រើការវិញ យើងត្រូវផ្តល់តំលៃអោយទៅ key របស់វាស្មើនឹង 1 ៕