पायथन मोंगोडीबी खोजें
MongoDB में हम संग्रह में डेटा खोजने के लिए खोज और ढूँढ़ने के तरीकों का उपयोग करते हैं।
जैसे MySQL डेटाबेस में किसी टेबल में डेटा खोजने के लिए SELECT स्टेटमेंट का उपयोग किया जाता है।
ढूँढो एक
MongoDB में संग्रह से डेटा का चयन करने के लिए, हम
find_one()
विधि का उपयोग कर सकते हैं।
find_one()
विधि चयन में पहली घटना लौटाती है ।
उदाहरण
ग्राहक संग्रह में पहला दस्तावेज़ खोजें:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)
सब ढूँढ़ो
MongoDB में किसी तालिका से डेटा का चयन करने के लिए, हम
find()
विधि का भी उपयोग कर सकते हैं।
विधि चयन में सभी घटनाओं को find()
लौटाती है।
विधि का पहला पैरामीटर find()
एक क्वेरी ऑब्जेक्ट है। इस उदाहरण में हम एक खाली क्वेरी ऑब्जेक्ट का उपयोग करते हैं, जो संग्रह में सभी दस्तावेज़ों का चयन करता है।
खोज () विधि में कोई भी पैरामीटर आपको MySQL में SELECT * के समान परिणाम नहीं देता है ।
उदाहरण
"ग्राहक" संग्रह में सभी दस्तावेज़ लौटाएँ, और प्रत्येक दस्तावेज़ को प्रिंट करें:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find():
print(x)
केवल कुछ फ़ील्ड लौटाएं
विधि का दूसरा पैरामीटर find()
एक वस्तु है जो यह बताता है कि परिणाम में किन क्षेत्रों को शामिल करना है।
यह पैरामीटर वैकल्पिक है, और यदि इसे छोड़ दिया जाता है, तो सभी फ़ील्ड परिणाम में शामिल हो जाएंगे।
उदाहरण
केवल नाम और पते लौटाएं, _ids नहीं:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }):
print(x)
आपको एक ही ऑब्जेक्ट में 0 और 1 दोनों मान निर्दिष्ट करने की अनुमति नहीं है (सिवाय इसके कि कोई एक फ़ील्ड _id फ़ील्ड है)। यदि आप मान 0 के साथ कोई फ़ील्ड निर्दिष्ट करते हैं, तो अन्य सभी फ़ील्ड मान 1 प्राप्त करते हैं, और इसके विपरीत:
उदाहरण
यह उदाहरण परिणाम से "पता" को बाहर कर देगा:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "address": 0 }):
print(x)
उदाहरण
यदि आप एक ही ऑब्जेक्ट में 0 और 1 दोनों मान निर्दिष्ट करते हैं, तो आपको एक त्रुटि मिलती है (सिवाय इसके कि कोई एक फ़ील्ड _id फ़ील्ड है):
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "name": 1, "address": 0 }):
print(x)