رفتن به نوشته‌ها

دسته: MongoDB (مونگو دی‌بی)

آشنایی با اپراتورهای Evaluation یا ارزیابی در MongoDB

پس از آشنایی با اپراتور های منطقی نوبت به اپراتور های evaluation می رسد. من با اپراتور regex$ شروع می کنم که به ما اجازه می دهد به دنبال متنی خاص بگردیم. برای شروع این جلسه نیز باید به پایگاه داده ی movieData برویم. اگر یادتان باشد در فیلد های موجود در هر document در این پایگاه داده، یک فیلد خاص به نام Summary داشتیم که خلاصه ی فیلم در آن قرار داشت. مثلا. حالا فرض کنید که می خواهیم به دنبال یک قسمت از متن درون این Summary بگردیم. مثلا در خلاصه ی بالا می خواهیم به دنبال عبارت remote island in the Pacific بگردیم. چطور باید این کار را انجام داد؟ اکثرا افراد تازه کار تصور می کنند که کد زیر مشکل ما را حل می کند. اما با اجرای این دستور هیچ چیزی دریافت نخواهید کرد چرا که کد بالا به معنی برابری مطلق است. یعنی کلِ قسمت summary باید برابر با remote island in the Pacific باشد! بهترین راه برای انجام این کار استفاده از Text index ها است که هنوز به آن نرسیده ایم و در فصل های آینده آن را بررسی خواهیم کرد اما فعلا می توانیم از یکی از اپراتور های evaluation به نام regex$ استفاده کنیم. البته استفاده از regex$ کار خوبی نیست مگر در مواقع ضروری چرا که عملیاتی کُند تر از index ها محسوب می شود اما به دلایل آموزشی ما در اینجا از آن استفاده می کنیم.