Saya mengalami masalah yang sama dan saya mulai menggali kode sumber luwak (versi 3.8.14). Akhirnya itu membawa saya ke baris ini dalam
- luwak/node_modules/mongodb/lib/mongodb/collection/core.js -> masukkan (...) -> insertWithWriteCommands (...) ->
-
luwak/node_modules/mongodb/lib/mongodb/collection/batch/ordered.js -> bulk.insert(docs[i]) -> addToOperationsList(...) -> bson.calculateObjectSize(dokumen, salah);
var bsonSize =bson.calculateObjectSize(document, false);
Rupanya, ini memanggil BSON.calculateObjectSize, yang memanggil calcalObjectSize yang kemudian berulang tanpa batas. Saya tidak dapat menggali sejauh itu apa yang menyebabkannya, tetapi saya pikir itu mungkin ada hubungannya dengan fungsi pengikatan pembungkus luwak ke Skema. Karena saya memasukkan data mentah ke mongoDB, setelah saya memutuskan untuk mengubah penyisipan massal di luwak ke objek javascript standar, masalahnya hilang dan penyisipan massal terjadi dengan benar. Anda mungkin dapat melakukan hal serupa.
Pada dasarnya, kode saya beralih dari
//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) {});
ke
//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) {});