កន្លង​មក យើង​បាន​ប្រើប្រាស់ method ឈ្មោះ find() ក្នុង​ការស្រង់​យក document ទាំងអស់​មាន​នៅ​ក្នុង​ collection ណា​មួយ​មក​ប្រើការ​។ ក៏ប៉ុន្តែ យើង​ក៏​អាច​ស្រង់​យក​តែ document ណា​ដែល​យើង​ត្រូវការ ដោយ​ប្រើប្រាស់​ 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"]
 
myquery = { "address": "Park Lane 38" }
 
mydoc = mycol.find(myquery)
 
for x in mydoc:
  print(x)

 

លើស​ពី​នេះ​ទៀត បើ​យើង​ចង់​ស្រង់​យក​តែ document ណា​ដែល​មាន​តំលៃ​នៅ​ជាប់​នឹង​ key 'address' ​ធំ​ជាង​អក្សរ "S" យើង​ត្រូវ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

 

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"]
 
myquery = { "address": { "$gt": "S" } }
 
mydoc = mycol.find(myquery)
 
for x in mydoc:
  print(x)

 

ហើយ​យើង​ក៏​អាច​ប្រើប្រាស់ regular expression ក្នុង​ការស្វែង​រក​តំលៃ​នៅ​ជា់ប​នឹង​ key ដែល​ជា "adddress" ចាប់​ផ្តើម​ដោយ​អក្សរ​ណា​មួយ​បាន​ដែរ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

 

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"]
 
myquery = { "address": { "$regex": "^S" } }
 
mydoc = mycol.find(myquery)
 
for x in mydoc:
  print(x)