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

मोंगोस का उपयोग करके मोंगोडीबी में थोक अप्सर्ट

विशेष रूप से "मोंगोज़" में नहीं, या कम से कम अभी तक लेखन के रूप में नहीं। 2.6 रिलीज के रूप में मोंगोडीबी खोल वास्तव में "थोक संचालन एपीआई" "हुड के तहत" का उपयोग करता है क्योंकि यह सभी सामान्य सहायक विधियों के लिए था। इसके कार्यान्वयन में, यह पहले ऐसा करने का प्रयास करता है, और यदि एक पुराने संस्करण सर्वर का पता चलता है तो विरासत कार्यान्वयन के लिए "फ़ॉलबैक" होता है।

सभी नेवला विधियाँ "वर्तमान में" "विरासत" कार्यान्वयन या लेखन चिंता प्रतिक्रिया और मूल विरासत विधियों का उपयोग करती हैं। लेकिन एक .collection है किसी दिए गए नेवला मॉडल से एक्सेसर जो अनिवार्य रूप से अंतर्निहित "नोड नेटिव ड्राइवर" से "संग्रह ऑब्जेक्ट" तक पहुंचता है, जिस पर स्वयं नेवला लागू किया जाता है:

 var mongoose = require('mongoose'),
     Schema = mongoose.Schema;

 mongoose.connect('mongodb://localhost/test');

 var sampleSchema  = new Schema({},{ "strict": false });

 var Sample = mongoose.model( "Sample", sampleSchema, "sample" );

 mongoose.connection.on("open", function(err,conn) { 

    var bulk = Sample.collection.initializeOrderedBulkOp();
    var counter = 0;

    // representing a long loop
    for ( var x = 0; x < 100000; x++ ) {

        bulk.find(/* some search */).upsert().updateOne(
            /* update conditions */
        });
        counter++;

        if ( counter % 1000 == 0 )
            bulk.execute(function(err,result) {             
                bulk = Sample.collection.initializeOrderedBulkOp();
            });
    }

    if ( counter % 1000 != 0 )
        bulk.execute(function(err,result) {
           // maybe do something with result
        });

 });

वहां मुख्य पकड़ यह है कि "मोंगोज़ विधियां" वास्तव में जागरूक हैं कि वास्तव में एक कनेक्शन वास्तव में अभी तक नहीं बनाया जा सकता है और यह पूरा होने तक "कतार" हो सकता है। आप जिस मूल चालक में "खोद रहे हैं" वह यह भेद नहीं करता है।

तो आपको वास्तव में जागरूक होना होगा कि कनेक्शन किसी न किसी रूप में स्थापित होता है। लेकिन जब तक आप अपने काम में सावधानी बरतते हैं, तब तक आप मूल ड्राइवर विधियों का उपयोग कर सकते हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब अपडेट में एक चर का उपयोग करना

  2. MongoDB और C# ड्राइवर का उपयोग करके उप दस्तावेज़ संग्रह को कैसे क्वेरी करें?

  3. MySQL से MongoDB - एक एडमिन चीट शीट

  4. MongoDB में एक डेटाबेस से दूसरे डेटाबेस में संग्रह की प्रतिलिपि कैसे करें

  5. MongoDB + nodejs:ISODate फ़ील्ड को कैसे क्वेरी करें?