$sort ($sort)
مرحله $sort برای «مرتب سازی داده ها» استفاده می شود. یعنی اسناد بر اساس فیلدها مرتب می شوند. مقدار 1 یعنی صعودی، مقدار -1 یعنی نزولی. مثل مرتب سازی نمره ها در کارنامه.
مرتب سازی داده ها با $sort
اول اسناد را مرتب کن، بعد مراحل بعدی را اجرا کن. ترتیب مراحل مهم است؛ هر مرحله خروجی مرحله قبل را می گیرد.
نکته: وقتی $sort جلوتر باشد، $limit بعدی سریع تر می شود. چون فقط بالایی ها عبور می کنند.
مثال از sample_airbnb
بزرگ ترین ظرفیت اقامت را پیدا می کنیم. سپس فقط نام و ظرفیت را نگه می داریم. در پایان پنج مورد نشان می دهیم.
db.listingsAndReviews.aggregate([
{
$sort: { "accommodates": -1 }
},
{
$project: {
"name": 1,
"accommodates": 1
}
},
{
$limit: 5
}
])
قوانین جهت مرتب سازی
برای صعودی عدد 1 را بگذار. برای نزولی عدد -1 را بگذار. می توانی چند فیلد را هم زمان مرتب کنی.
گام های عملی
- فیلد مرتب سازی را انتخاب کن.
- جهت را با 1 یا -1 تعیین کن.
- $project یا $limit را بعدش اضافه کن.
برای یادگیری انتخاب فیلدها، به $project برو. همچنین فیلترها را در $match ببین. راهنمای مرتب سازی داده ها اینجاست.
جمع بندی سریع
- $sort مرتب سازی اسناد را انجام می دهد.
- 1 صعودی، -1 نزولی است.
- ترتیب مراحل پایپ لاین مهم است.
- ترکیب $sort و $limit کارا است.