खोज…


वाक्य - विन्यास

  • MongoDB: // [उपयोगकर्ता नाम: पासवर्ड @] host1 [: port1] [, host2 [: port2], ... [, जिसे hostn [: portN]]] [? / [डेटाबेस] [विकल्प]]

पैरामीटर

पैरामीटर विस्तार
hostX वैकल्पिक। आप आवश्यक के रूप में कई मेजबानों को निर्दिष्ट कर सकते हैं। आप कई मेजबानों को निर्दिष्ट करेंगे, उदाहरण के लिए, प्रतिकृति सेट के कनेक्शन के लिए।
: portX वैकल्पिक। डिफ़ॉल्ट मान है: 27017 यदि निर्दिष्ट नहीं है।
डेटाबेस वैकल्पिक। डेटाबेस का नाम प्रमाणित करने के लिए यदि कनेक्शन स्ट्रिंग में प्रमाणीकरण क्रेडेंशियल शामिल हैं।
? विकल्प कनेक्शन विशिष्ट विकल्प

Pymongo का उपयोग करके MongoDB से कनेक्ट करें

from pymongo import MongoClient

uri = "mongodb://localhost:27017/"

client = MongoClient(uri)

db = client['test_db']
# or
# db = client.test_db

# collection = db['test_collection']
# or
collection = db.test_collection


collection.save({"hello":"world"})

print collection.find_one()

PyMongo क्वेरीज़

एक बार जब आपको एक collection ऑब्जेक्ट मिल जाता है, तो प्रश्न उसी सिंटैक्स का उपयोग करते हैं जैसे कि मूंग शेल में। कुछ मामूली अंतर हैं:

  • हर कुंजी को कोष्ठक में संलग्न किया जाना चाहिए। उदाहरण के लिए:

    db.find({frequencies: {$exists: true}})
    

    pymongo में हो जाता है (नोट अपरकेस में True है):

    db.find({"frequencies": { "$exists": True }})
    
  • ऑब्जेक्ट ISODate या ISODate जैसी वस्तुओं को पायथन कक्षाओं का उपयोग करके हेरफेर किया जाता है। PyMongo ऑब्जेक्ट आईडी से निपटने के लिए अपने स्वयं के ObjectId वर्ग का उपयोग करता है, जबकि दिनांक मानक datetime पैकेज का उपयोग करते हैं। उदाहरण के लिए, यदि आप 2010 और 2011 के बीच की सभी घटनाओं की क्वेरी करना चाहते हैं, तो आप कर सकते हैं:

     from datetime import datetime
    
     date_from = datetime(2010, 1, 1)
     date_to = datetime(2011, 1, 1)
     db.find({ "date": { "$gte": date_from, "$lt": date_to } }):
    

PyMongo का उपयोग करके एक संग्रह में सभी दस्तावेजों को अपडेट करें

मान लीजिए कि आपको किसी संग्रह में प्रत्येक दस्तावेज़ में फ़ील्ड जोड़ने की आवश्यकता है।

import pymongo

client = pymongo.MongoClient('localhost', 27017)
db = client.mydb.mycollection

for doc in db.find():
   db.update(
       {'_id': doc['_id']}, 
       {'$set': {'newField': 10} }, upsert=False, multi=False)

find विधि एक Cursor लौटाता है, जिस पर आप सिंटैक्स for in उपयोग के for in आसानी से पुनरावृति कर सकते हैं। फिर, हम update विधि को कॉल करते हैं, _id निर्दिष्ट करते हैं और हम एक फ़ील्ड ( $set ) जोड़ते हैं। पैरामीटर upsert और multi मोंगोडब से आते हैं ( अधिक जानकारी के लिए यहां देखें )।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow