MongoDB

MongoDB — $sort ($sort)

آخرین بروزرسانی: 1404/08/20

$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. فیلد مرتب سازی را انتخاب کن.
  2. جهت را با 1 یا -1 تعیین کن.
  3. $project یا $limit را بعدش اضافه کن.

برای یادگیری انتخاب فیلدها، به $project برو. همچنین فیلترها را در $match ببین. راهنمای مرتب سازی داده ها اینجاست.

جمع بندی سریع

  • $sort مرتب سازی اسناد را انجام می دهد.
  • 1 صعودی، -1 نزولی است.
  • ترتیب مراحل پایپ لاین مهم است.
  • ترکیب $sort و $limit کارا است.