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

नेवला - रेंज त्रुटि:अधिकतम कॉल स्टैक आकार पार हो गया

मुझे भी यही समस्या हो रही थी और मैंने नेवला स्रोत कोड (संस्करण 3.8.14) के माध्यम से खुदाई शुरू कर दी। आखिरकार इसने मुझे

. के भीतर इस लाइन तक पहुँचाया
  • मोंगोज़/नोड_मॉड्यूल्स/मोंगोडब/लिब/मोंगोडब/कलेक्शन/कोर.जेएस -> सम्मिलित करें (...) -> insertWithWriteCommands (...) ->
  • mongoose/node_modules/mongodb/lib/mongodb/collection/batch/ordered.js -> bulk.insert(docs[i]) -> addToOperationsList(...) -> bson.calculateObjectSize(दस्तावेज़, असत्य);

    var bsonSize =bson.calculateObjectSize (दस्तावेज़, गलत);

जाहिर है, यह BSON.calculateObjectSize को कॉल करता है, जो कैलकुलेटऑब्जेक्टसाइज को कॉल करता है जो तब असीम रूप से रिकर्स करता है। मैं उस कारण तक खुदाई करने में सक्षम नहीं था, लेकिन मुझे लगा कि स्कीमा के लिए नेवला आवरण बाध्यकारी कार्यों के साथ इसका कुछ संबंध हो सकता है। चूंकि मैं कच्चे डेटा को mongoDB में सम्मिलित कर रहा था, एक बार जब मैंने एक मानक जावास्क्रिप्ट ऑब्जेक्ट में नेवला में बल्क इंसर्ट को बदलने का निर्णय लिया, तो समस्या दूर हो गई और बल्क इंसर्ट सही ढंग से हुआ। आप कुछ ऐसा ही करने में सक्षम हो सकते हैं।

अनिवार्य रूप से, मेरा कोड

. से चला गया
//EDIT: mongoose.model needs lowercase 'm' for getter method

var myModel = mongoose.model('MyCollection');
var toInsert = myModel();
var array = [toInsert];
myModel.collection.insert(array, {}, function(err, docs) {});

करने के लिए

//EDIT: mongoose.model needs lowercase 'm' for getter method

var myModel = mongoose.model('MyCollection');
var toInsert = { //stuff in here 
   name: 'john',
   date: new Date()
};
var array = [toInsert];
myModel.collection.insert(array, {}, function(err, docs) {});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्क्रैपी और मोंगोडीबी के साथ वेब स्क्रैपिंग और क्रॉलिंग

  2. मेरे मोंगोडब की मरम्मत कैसे करें?

  3. लोम्बोक - java.lang.StackOverflowError:toString विधि पर अशक्त

  4. MongoDB शेयरिंग के लिए एक डेवलपर गाइड

  5. मैं डॉकटर कंटेनर के उठने और चलने की प्रतीक्षा कैसे कर सकता हूं?