पायथन मोंगोडीबी क्वेरी
परिणाम फ़िल्टर करें
संग्रह में दस्तावेज़ ढूंढते समय, आप क्वेरी ऑब्जेक्ट का उपयोग करके परिणाम फ़िल्टर कर सकते हैं।
विधि का पहला तर्क find()
एक क्वेरी ऑब्जेक्ट है, और इसका उपयोग खोज को सीमित करने के लिए किया जाता है।
उदाहरण
"पार्क लेन 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)
उन्नत क्वेरी
उन्नत प्रश्न बनाने के लिए आप संशोधक का उपयोग क्वेरी ऑब्जेक्ट में मान के रूप में कर सकते हैं।
उदाहरण के लिए उन दस्तावेजों को खोजने के लिए जहां "पता" फ़ील्ड "एस" या उच्चतर (वर्णानुक्रम में) अक्षर से शुरू होता है, संशोधक से अधिक का उपयोग करें
{"$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)
रेगुलर एक्सप्रेशन के साथ फ़िल्टर करें
आप एक संशोधक के रूप में नियमित अभिव्यक्तियों का भी उपयोग कर सकते हैं।
रेगुलर एक्सप्रेशन का उपयोग केवल स्ट्रिंग्स को क्वेरी करने के लिए किया जा सकता है ।
केवल उन दस्तावेजों को खोजने के लिए जहां "पता" फ़ील्ड "एस" अक्षर से शुरू होता है, नियमित अभिव्यक्ति का उपयोग करें {"$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)