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

नेवला में स्कीमा पारित किए बिना एक संग्रह क्वेरी करना

नेवला होम पेज से:

<ब्लॉकक्वॉट>

Mongoose आपके एप्लिकेशन डेटा को मॉडलिंग करने के लिए एक सीधा-सीधा, स्कीमा-आधारित समाधान प्रदान करता है और इसमें बिल्ट-इन टाइप कास्टिंग, सत्यापन, क्वेरी बिल्डिंग, बिजनेस लॉजिक हुक और बहुत कुछ शामिल है।

Mongoose संभावित रूप से अद्वितीय दस्तावेज़ों के संग्रह से स्कीमा का अनुमान नहीं लगा सकता है। MongoDB संग्रह में संग्रहीत दस्तावेज़ों पर स्कीमा लागू नहीं करता है।

इसलिए, Mongoose NodeJS नेटिव ड्राइवर (यहां) पर एक परत जोड़ता है जो कई लोगों को अधिक उत्पादक लगता है। हालांकि Node.JS का उपयोग करते समय MongoDB के साथ इसका उपयोग करने की आवश्यकता नहीं है।

नेवले को काम करने के लिए मूल रूप से दो चीजों की आवश्यकता होती है:

  1. स्कीमा ==यह दस्तावेज़ संरचना (संदर्भ) को परिभाषित करता है। आप सत्यापन, नए तरीके जोड़ सकते हैं, आभासी गुण जोड़ सकते हैं, डेटा प्रकारों का उपयोग कर सकते हैं, अन्य संग्रहों (मॉडल) के संदर्भ स्थापित कर सकते हैं।
  2. मॉडल ==यह वह वर्ग है जिसका उपयोग रन टाइम पर संग्रह (संदर्भ) के खिलाफ प्रश्नों को व्यक्त करने के लिए किया जाता है। एक मॉडल बनाने के लिए एक स्कीमा परिभाषा का उपयोग किया जाता है।

इसलिए, जैसा कि आपने अपने द्वारा चिपकाए गए नमूने में देखा, एक बिल्ली का बच्चा है Schema परिभाषित, और फिर एक Model Kitten बनाया गया है। स्कीमा और मॉडल का उपयोग करने के बारे में क्या अच्छा है कि Mongoose फिर उपलब्ध गुणों/फ़ील्ड को लागू करता है।

आप केवल Schema . परिभाषित करते हैं एस और Model एक बार आवेदन में। इसलिए, आमतौर पर जैसे ही एप्लिकेशन शुरू होता है, आपको उन्हें परिभाषित करने के लिए कोड निष्पादित करना होगा, और फिर Model का उपयोग करना होगा। आवेदन के पूरे जीवन-चक्र में आवश्यकतानुसार उदाहरण।

ऐसे और भी कई कारण हैं जिनकी वजह से आप संभावित रूप से Mongoose का उपयोग करना चाहेंगे।

हालांकि आप बिल्कुल सही हैं, आप नोडजेएस मूल ड्राइवर का उपयोग करके स्कीमा के बिना कुछ और प्रत्यक्ष उपयोग कर सकते हैं। सिंटैक्स आपके द्वारा दिखाए गए के समान होगा, लेकिन थोड़ा अधिक जटिल होगा:

MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) {
  if(err) { return console.dir(err); }

  var collection = db.collection('kittens');

    collection.find().toArray(function(err, kittens) {
        // here ...
    });    
});

साधारण के बजाय:

Kitten.find(function(err, kittens) {

});

साथ ही, नेवला का उपयोग करते समय, आप पा सकते हैं कि अधिक जटिल प्रश्नों को लिखना और पढ़ना आसान है:

Kitten.find().where('name', 'Harold').exec(/*callback*/);

मैं ढांचे के लिए बेहतर अनुभव प्राप्त करने के लिए और अधिक दस्तावेज़ीकरण के माध्यम से पढ़ने का सुझाव दूंगा और यह आपकी आवश्यकताओं के लिए एक अच्छा मेल है या नहीं। दस्तावेज़ीकरण दुर्भाग्य से थोड़ा बिखरा हुआ है, लेकिन यदि आप Guide के उप शीर्षकों के माध्यम से जाते हैं शीर्षक, आपके पास बहुत सारी अच्छी जानकारी उपलब्ध होगी।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी रेगेक्स इंटीजर वैल्यू पर सर्च करें

  2. MongoDB में CSV को संग्रह कैसे निर्यात करें?

  3. मुझे यह पदावनत चेतावनी क्यों मिल रही है ?! मोंगोडीबी

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

  5. मोंगोडीबी $नमूना