MongoDB

MongoDB — $match ($match)

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

$match ($match)

با «فیلتر با $match» اسناد را مثل جست وجوی find فیلتر می کنیم. یعنی فقط اسنادی می مانند که شرط ما را دارند. این کار مثل غربال کردن نمره ها برای یافتن ممتازهاست.

فیلتر سریع با $match

مرحله $match مانند فیلتر است. هرچه زودتر در پایپ لاین بیاید، مراحل بعدی سبک تر می شوند. بنابراین کارایی بهتر می شود.

db.listingsAndReviews.aggregate([
  {
    $match: { property_type: "House" }
  },
  {
    $limit: 2
  },
  {
    $project: {
      "name": 1,
      "bedrooms": 1,
      "price": 1
    }
  }
])

مشاهده در ادیتور

گام های عملی

  1. شرط فیلتر را دقیق بنویس.
  2. $match را اول پایپ لاین قرار بده.
  3. در صورت نیاز $limit و $project را اضافه کن.

نکته: اگر شرط سنگین است، ایندکس بساز. سپس $match سریع تر می شود.

برای «مرتب سازی» به $sort برو. برای «انتخاب فیلدها» نیز $project را ببین. همچنین راهنمای فیلتر با $match را دنبال کن.

جمع بندی سریع

  • $match مثل فیلتر find عمل می کند.
  • قرارگیری زودهنگام، کارایی را بهتر می کند.
  • ترکیب با $limit و $project بسیار کاربردی است.
  • ایندکس مناسب، سرعت را بالا می برد.