MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

रूबी में सीधे कच्चे मोंगोडीबी प्रश्नों को कैसे आग लगाना है?

यहां एक (संभवतः) बेहतर मिनी-ट्यूटोरियल है कि सीधे अपने मोंगोडीबी की हिम्मत में कैसे पहुंचे। यह आपकी विशिष्ट समस्या का समाधान नहीं कर सकता है, लेकिन यह आपको SELECT * FROM table के MongoDB संस्करण तक ले जाना चाहिए ।

सबसे पहले, आपको एक Mongo::Connection . चाहिए वस्तु। यदि आप MongoMapper का उपयोग कर रहे हैं तो आप connection . पर कॉल कर सकते हैं कनेक्शन प्राप्त करने के लिए अपने किसी भी MongoMapper मॉडल पर क्लास विधि या सीधे MongoMapper से इसके लिए पूछें:

connection = YourMongoModel.connection
connection = MongoMapper.connection

अन्यथा मुझे लगता है कि आप from_uri . का उपयोग करेंगे कंस्ट्रक्टर अपना खुद का कनेक्शन बनाने के लिए।

फिर आपको डेटाबेस पर अपना हाथ लाने की आवश्यकता है, आप इसे ऐरे एक्सेस नोटेशन, db का उपयोग करके कर सकते हैं विधि, या सीधे MongoMapper से वर्तमान प्राप्त करें:

db = connection['database_name']    # This does not support options.
db = connection.db('database_name') # This does support options.
db = MongoMapper.database           # This should be configured like
                                    # the rest of your app.

अब आपके पास एक अच्छा चमकदार Mongo::DB है उदाहरण आपके हाथ में है। लेकिन, आप शायद एक Collection चाहते हैं कुछ भी दिलचस्प करने के लिए और आप इसे ऐरे एक्सेस नोटेशन या Collection . का उपयोग करके प्राप्त कर सकते हैं विधि:

collection = db['collection_name']
collection = db.collection('collection_name')

अब आपके पास कुछ ऐसा है जो SQL तालिका की तरह व्यवहार करता है ताकि आप count . कर सकें find . का उपयोग करके इसमें कितनी चीज़ें हैं या इसे क्वेरी करें :

cursor = collection.find(:key => 'value')
cursor = collection.find({:key => 'value'}, :fields => ['just', 'these', 'fields'])
# etc.

और अब आपके पास वह है जो आप वास्तव में चाहते हैं:ओवन से बाहर एक गर्म Mongo::Cursor जो उस डेटा की ओर इशारा करता है जिसमें आपकी रुचि है। Mongo::Cursor isan Enumerable इसलिए आपके पास अपने सभी सामान्य पुनरावृत्त मित्रों जैसे each . तक पहुंच है , first , map , और मेरे व्यक्तिगत पसंदीदा में से एक, each_with_object :

a = cursor.each_with_object([]) { |x, a| a.push(mangle(x)) }

command . भी हैं और eval Mongo::DB . पर तरीके वह वही कर सकता है जो आप चाहते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या है Mongoose त्रुटि ObjectId पर कास्ट करें मान XXX के लिए पथ _id पर विफल रहा?

  2. नेवला कनेक्शन

  3. BsonRepresentation(BsonType.ObjectId) बनाम BsonId बनाम ObjectId के साथ C# में किसी संपत्ति को सजाने के बीच अंतर

  4. इन्सर्ट (), इन्सर्टऑन (), और इन्सर्टमैनी () मेथड में क्या अंतर है?

  5. मैं MongoDB C# Driver 2.0 में अपने प्रश्नों को कैसे लॉग करूं?