តំរៀប​ទិន្នន័យ​តាម​លំដាប់​លំដោយ

គ្រប់​មូលដ្ឋាន​ទិន្នន័យ​ទាំងអស សុទ្ធតែ​ផ្តល់​លទ្ធភាព​អោយ​យើង​តំរៀប​ទៅ​លំដាប់លំដោយ​ដែល​យើង​ចង់​បាន​។ ដោយ​ឡែក នៅ​ក្នុង​មូលដ្ឋាន MongoDB យើង​ក៏អាច​តំរៀប document នៅ​ក្នុង collection ទៅតាម​លំដាប់​លំដោយ​ដែល​យើង​ចង់​បាន ដោយ​ប្រើប្រាស់​ method ឈ្មោះ find() និង sort() ដូច​ខាង​ក្រោម​នេះ៖

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"]

mydoc = mycol.find().sort("name")

for x in mydoc:
  print(x)
{'_id': 3, 'name': 'Amy', 'address': 'Apple st 652'}
{'_id': 11, 'name': 'Ben', 'address': 'Park Lane 38'}}
{'_id': 7, 'name': 'Betty', 'address': 'Green Grass 1'}}
{'_id': 13, 'name': 'Chuck', 'address': 'Main Road 989'}}
{'_id': 4, 'name': 'Hannah', 'address': 'Mountain 21'}}
{'_id': 1, 'name': 'John', 'address': 'Highway 37'}}
{'_id': 5, 'name': 'Michael', 'address': 'Valley 345'}}
{'_id': 2, 'name': 'Peter', 'address': 'Lowstreet 27'}}
{'_id': 8, 'name': 'Richard', 'address': 'Sky st 331'}}
{'_id': 6, 'name': 'Sandy', 'address': 'Ocean blvd 2'}}
{'_id': 9, 'name': 'Susan', 'address': 'One way 98'}}
{'_id': 10, 'name': 'Vicky', 'address': 'Yellow Garden 2'}}
{'_id': 14, 'name': 'Viola', 'address': 'Sideway 1633'}}
{'_id': 12, 'name': 'William', 'address': 'Central st 954'}

ហើយ​បើ​យើង​ចង់​តំរៀប​តាម​លំដាប់លំដោយ​បញ្ច្រាស​មក​វិញ យើង​ត្រូវ​ធ្វើ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

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"]

mydoc = mycol.find().sort("name", -1)

for x in mydoc:
  print(x)
{'_id': 12, 'name': 'William', 'address': 'Central st 954'}
{'_id': 14, 'name': 'Viola', 'address': 'Sideway 1633'}
{'_id': 10, 'name': 'Vicky', 'address': 'Yellow Garden 2'}
{'_id': 9, 'name': 'Susan', 'address': 'One way 98'}
{'_id': 6, 'name': 'Sandy', 'address': 'Ocean blvd 2'}
{'_id': 8, 'name': 'Richard', 'address': 'Sky st 331'}
{'_id': 2, 'name': 'Peter', 'address': 'Lowstreet 27'}
{'_id': 5, 'name': 'Michael', 'address': 'Valley 345'}
{'_id': 1, 'name': 'John', 'address': 'Highway 37'}
{'_id': 4, 'name': 'Hannah', 'address': 'Mountain 21'}
{'_id': 13, 'name': 'Chuck', 'address': 'Main Road 989'}
{'_id': 7, 'name': 'Betty', 'address': 'Green Grass 1'}
{'_id': 11, 'name': 'Ben', 'address': 'Park Lane 38'}
{'_id': 3, 'name': 'Amy', 'address': 'Apple st 652'}