javascript - 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 方面需要帮助。
解决方案
这里有几个问题:
数组项周围有双引号
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()
将复制数组(但您正在重置它,因此实际上没有必要)。
推荐阅读
- python - Django - 将使用 xhtml2pdf 生成的 pdf 文件保存到磁盘
- docker - 使用 Ansible 根据使用 docker_prune 的标签删除图像
- c++ - 如何检查每个头文件是否包含所需的包含文件?
- java - 如何在 HttpDecompressor 之前添加 GlobalTrafficShapingHandler
- sap-gui - 是否有可能在用户级别关闭日期扩展?
- python-3.x - python with lightgbm,预测类标签(0或1)而不是概率
- javascript - 希望根据某些条件检查将值保持在切换按钮的一种状态
- node.js - 在 Multer 中上传图像后移动和重命名图像
- django - curl: (35) schannel: next InitializeSecurityContext failed: SEC_E_INVALID_TOKEN (0x80090308) - 提供给函数的令牌无效
- ios - 像在 Safari 中一样将 UIProgressView 添加到 UISearchBar