این فصل نحوه مرتبسازی نتایج پرسوجو در MongoDB را معرفی میکند، مشابه استفاده از دستور ORDER BY در MySQL. صفحهبندی در MongoDB از طریق تابع sort
از کورسور Cursor به دست میآید.
آمادهسازی دادههای آزمایشی
درج چند رکورد در مجموعه restaurants
db.restaurants.insertMany( [
{ "_id" : 1, "name" : "کافه سانترال پارک", "borough" : "منهتن"},
{ "_id" : 2, "name" : "راک آ فلر بار و گریل", "borough" : "کوئینز"},
{ "_id" : 3, "name" : "پاب امپراتوری استیت", "borough" : "بروکلین"},
{ "_id" : 4, "name" : "پیتزاریا استن", "borough" : "منهتن"},
{ "_id" : 5, "name" : "دلی جین", "borough" : "بروکلین"},
] );
مرتبسازی نتایج
db.restaurants.find({}).sort({_id:1})
توضیحات:
- از تابع
sort
برای تنظیم فیلد مرتبسازی استفاده کنید. - همه دادهها را جستجو کنید و براساس _id به صورت صعودی مرتب سازی کنید.
فرمت پارامترهای تابع مرتبسازی:
<فیلد>: 1 یا -1
توضیحات:
- 1 نمایش ترتیب صعودی را دارد.
- -1 نمایش ترتیب نزولی را دارد.
ترکیب با صفحهبندی
db.restaurants.find({}).limit(2).skip(2).sort({_id:-1})
توضیحات:
- همه دادهها را جستجو کنید، حداکثر 2 رکورد را برگردانید، 2 رکورد را رد کنید و براساس _id به صورت نزولی مرتب کنید.