猿问

mongodb 批量插入 - Javascript 不工作

我想将一堆记录插入到一个集合中,但我想像使用“insertMany()”那样批量处理而不是一次记录。我写的脚本如下:


var batch = [];

for (i=0; i<10; i++) { 

    names=["exam", "essay", "quiz"]; 

    for (j=0;j<3;j++) { 

        batch += '\n{ student : ' + i + ', type : "' + names[j] + '", score : ' + Math.round(Math.random()*100) + '}' ;

        if (mod i%3 == 0) {

            batch = batch.slice(0, batch.lenght(-1));

            db.scores.insertMany( batch )

            batch=[];

        }

    }

}

上面的代码不起作用。有两个问题:首先,数组项周围有双引号,其次,“切片”没有生效。


需要帮助修复 Javascript。


慕尼黑5688855
浏览 117回答 1
1回答

翻过高山走不出你

这里有几个问题:数组项周围有双引号batch += '\n{ student : ' + i + ', type : "' + names[j] + '", score : ' + Math.round(Math.random()*100) + '}' ;您想创建一个对象而不是一个字符串。batch = { student: i, type: names[j], score: ..}将为您创建一个对象。“切片”未生效batch = batch.slice(0, batch.lenght(-1));你拼错了length,length是一个属性而不是一个函数。batch.slice()将复制数组(但您正在重置它,因此实际上没有必要)。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答