【问题标题】:mongodb batch insert - Javascript not workingmongodb批量插入 - Javascript不起作用
【发布时间】:2019-06-09 22:07:42
【问题描述】:

我想将一堆记录插入到一​​个集合中,但我想使用“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 方面需要帮助。

【问题讨论】:

    标签: javascript mongodb batch-insert


    【解决方案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() 将复制数组(但您正在重置它,因此实际上没有必要)。

    【讨论】:

      猜你喜欢
      • 2016-09-24
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 2013-10-01
      • 2021-04-23
      • 1970-01-01
      相关资源
      最近更新 更多