استعلام Python MongoDB
تصفية النتيجة
عند البحث عن مستندات في مجموعة ، يمكنك تصفية النتيجة باستخدام كائن الاستعلام.
الوسيطة الأولى find()
للطريقة هي كائن استعلام ، وتستخدم لتقييد البحث.
مثال
ابحث عن مستند (مستندات) بعنوان "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)
استعلام متقدم
لإجراء استعلامات متقدمة ، يمكنك استخدام المعدِّلات كقيم في كائن الاستعلام.
على سبيل المثال ، للعثور على المستندات التي يبدأ فيها حقل "العنوان" بالحرف "S" أو أعلى (أبجديًا) ، استخدم المُعدِّل أكبر من
{"$gt": "S"}
:
مثال
ابحث عن المستندات التي يبدأ العنوان فيها بالحرف "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)
التصفية باستخدام التعبيرات العادية
يمكنك أيضًا استخدام التعبيرات العادية كمعدِّل.
يمكن استخدام التعبيرات العادية فقط للاستعلام عن السلاسل .
للعثور فقط على المستندات التي يبدأ فيها حقل "العنوان" بالحرف "S" ، استخدم التعبير العادي {"$regex": "^S"}
:
مثال
ابحث عن المستندات التي يبدأ العنوان فيها بالحرف "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)