MongoDB Query
فیلتر کردن نتایج
وقتی که داکیومنت ها را در Collection پیدا میکنید میتوان با یک query object آن ها را فیلتر کرد.
اولین آرگومان متد ()find یک query object است که جستجو را محدود میکند.
مثال: پیدا کردن داکیومنت ها با آدرس “Park Lane 38“
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)
Advanced Query
میتوان با ایجاد query های پیشرفته در query object تغییر ایجاد کرد.
مثلا برای پیدا کردن داکیومنت هایی که ادرسشان با حرف “S” یا حروف بزرگتر از آن شروع میشود میتوان از (greater than modifier) استفاده کرد. به شکل {“gt”:”S$”}
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
میتوان از عبارت های منظم برای تغییر استفاده کنید.
مثلا برای پیدا کردن فیلد هایی که ادرسشان با حرف “S” شروع میشود میتوان از عبارت منظم {“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)