دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۸
  • فروردین

جلسه ۳۵ : عبارات منظم در MongoDB

  • دسته‌بندی‌ها :
جلسه ۳۵ : عبارات منظم در MongoDB
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، این جلسه از آموزش های MongoDB را تعریف عبارات منظم در MongoDB آغاز می کنیم. عبارات منظم اغلب در همه زبان ها برای جستجوی الگوی یا کلمه در هر رشته استفاده می شود. عبارات منظم در MongoDB برای تطابق الگوی رشته استفاده از عملیات regex$ را فراهم می کند. MongoDB از PCRE که مخفف (Perl Compatible Regular Expression) استفاده می کند که یک زبان برای عبارات منظم می باشد.

      عبارات منظم در MongoDB

      بر خلاف جستجوی متن، ما نیازی به انجام تنظیمات و دستور برای استفاده از عبارات منظم نداریم.

      ساختار سند زیر را در مجموعه posts است و شامل post text و tags می باشد را در نظر بگیرید :

      مثال : 

      نحوه استفاده از عبارت regex

      کوئری regex زیر همه پست هایی که حاوی آموزش tutorialspoint در آن است را جستجو می کند :

      مثال : 

      همان query نیز می تواند به شکل دیگری نوشته شود :

      مثال : 

      نحوه استفاده از عملیات regex$ با حساسیت Case

      برای ایجاد حساسیت جستجو، از پارامتر options$ با مقدار i$ استفاده می کنیم.

      دستور زیر به دنبال رشته هایی با کلمه “tutorialspoint”، صرف نظر از حروف کوچکت یا بزرگ است.

      مثال : 

      یکی از نتایجی که از این کوئری برگردانده می شود، سند زیر است که شامل کلمه هایی است که حاوی tutorialspoint می باشد.

      مثال : 

      نحوه استفاده از regex برای عناصر آرایه

      ما همچنین می توانیم از مفهوم regex در فیلد آرایه استفاده کنیم. این ویژه هنگامی مهم است که ما قابلیت تگ ها را اجرا کنیم.

      بنابراین اگر میخواهید تمام پستهایی که حاوی تگ های است که با کلمه tutorial شروع شده (tutorials یا tutorialpoint یا tutorialphp) را جستجو کنید، می توانید از کد زیر استفاده کنید :

      مثال : 

      بهینه سازی کوئری های عبارت منظم

      اگر فیلدهای سند فهرست شوند، کوئری از مقادیر فهرست برای مطابقت با عبارات منظم استفاده می کند.

      این کار باعث می شود جستجو در مقایسه با اسکن عبارات منظم کل مجموعه بسیار سریعتر شود.

      کلام آخر

      اگر عبارات منظم یک علامت پیشوند داشته باشد، تمام مطابقات به معنای شروع یک کاراکتر رشته ای خاص است. به عنوان مثال، اگر عبارت regex حاوی، tut^ باشد، کوئری فقط برای آن رشته هایی که با tut شروع می شوند را جستجو می کند.

      QR:  جلسه ۳۵ : عبارات منظم در MongoDB
      به اشتراک بگذارید