【发布时间】:2018-03-07 13:03:33
【问题描述】:
我正在尝试使用 insertMany 方法,但没有成功...我阅读了这个 stackoverflow answer,但它没有说明如何处理非常大的对象数组。
在我的测试用例中,我有 9755 个对象,使用此脚本将所有行导入 9 次,这不是我想要的...
我想在每次导入时将数组分成 1000 个对象的块。
我该怎么做?
function bulkImportToMongo(arrayToImport, mongooseModel) {
const Model = require(`../../../models/${mongooseModel}`);
let counter = 0;
let temp = [];
arrayToImport.forEach(item => {
temp.push(item);
counter++;
if (counter % 1000 == 0) {
Model.insertMany(temp).then(mongoosedocs => {
console.log(`imported ${counter} objects`);
console.log(mongoosedocs.length);
temp = [];
});
}
});
}
【问题讨论】: