جستجو (Find)
اینجا «جستجو MongoDB» را با شل «مونگوش (mongosh)» تمرین می کنیم. «کوئری (Query)» یعنی فیلتر کردن داده ها. با دو متد find() و findOne() کار می کنیم.
انتخاب همه اسناد با find()
متد find() از یک کلکشن، اسناد را برمی گرداند. اگر کوئری خالی باشد، همه برمی گردند.
db.posts.find()
گرفتن یک سند با findOne()
متد findOne() فقط یک سند برمی گرداند. اگر کوئری خالی باشد، اولین سند بازمی گردد.
db.posts.findOne()
نکته: findOne() فقط اولین تطابق را می دهد.
کوئری کردن داده ها
برای فیلتر کردن، شیء کوئری بده. مثل انتخاب برگه های «News» در پوشه.
db.posts.find({ category: "News" })
پروژکشن (Projection) فیلدها
«پروژکشن (Projection)» یعنی تعیین فیلدهای خروجی. مقدار 1 یعنی نمایش. مقدار 0 یعنی عدم نمایش.
db.posts.find({}, { title: 1, date: 1 })
نکته: فیلد _id پیش فرض نمایش داده می شود مگر اینکه حذفش کنی.
db.posts.find({}, { _id: 0, title: 1, date: 1 })
می توانی فقط یک فیلد را حذف کنی و بقیه بمانند.
db.posts.find({}, { category: 0 })
هشدار: در یک شیء پروژکشن، 0 و 1 را باهم قرار نده. فقط _id استثناست.
db.posts.find({}, { title: 1, date: 0 })
گام های عملی
- با افزودن داده چند سند بساز.
- با
find()و کوئری ساده، نتایج را بگیر. - با پروژکشن، خروجی را سبک و دقیق کن.
ادامه مسیر
برای عملیات بیشتر، صفحه به روزرسانی را ببین. همچنین راهنمای API کوئری MongoDB را دنبال کن.
جمع بندی سریع
find()لیست اسناد را می دهد.findOne()فقط یک سند می دهد.- کوئری شیء فیلتر است.
- پروژکشن فیلدهای خروجی را تعیین می کند.
_idرا جداگانه حذف کن.