کوئری (Query)
اینجا «کوئری مونگو» را یاد می گیریم. «کوئری (Query)» یعنی شرط جستجو. «کالکشن (Collection)» مثل جدول است. «سند (Document)» مثل ردیف است. با شیء کوئری، نتایج را محدود می کنیم.
فیلتر نتیجه با شیء کوئری
آرگومان اول find() یک شیء کوئری است. این شیء شرط انتخاب را مشخص می کند؛ مثل فیلتر تکلیف ها بر اساس نمره.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Park Lane 38" }
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)
کوئری پیشرفته با عملگرها
برای شرایط پیشرفته، از عملگرها در مقدار فیلد استفاده کن؛ مثل $gt برای «بزرگ تر از» در ترتیب حروف.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$gt": "S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)
فیلتر با عبارات باقاعده (Regular Expressions)
«رجکس (Regex)» الگوهای متنی را پیدا می کند. با $regex می توان شروعِ متن را فیلتر کرد؛ مثل پیدا کردن اسامیِ شروع شونده با «S».
نکته: رجکس فقط روی رشته ها کار می کند، نه عدد یا تاریخ.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)
گام های سریع برای «کوئری مونگو»
- به سرور MongoDB وصل شو.
- دیتابیس و کالکشن را انتخاب کن.
- یک شیء کوئری بساز.
find(query)را اجرا کن.- با عملگرها شرط ها را دقیق تر کن.
- در صورت نیاز، از رجکس استفاده کن.
راهنمای کلی کوئری مونگو را پیگیری کن. برای جستجوی ساده، صفحه پیدا کردن (Find) را ببین. برای مرتب سازی نتایج، سر بزن به مرتب سازی (Sort).
جمع بندی سریع
- آرگومان اول
find()همان شیء کوئری است. $gtبرای «بزرگ تر از» حروفی کاربرد دارد.$regexفقط روی رشته ها کار می کند.- کوئری خوب، نتایج دقیق تر می دهد.
- همیشه شرط ها را ساده و شفاف نگه دار.