我想使用javascript循环在mongodb集合中插入数据。 这是我的代码:
var collection = db.DATA.find();
for (var i = 0; i < 3; i++) {
db.PARSED_DATA.insert(collection[i].folders);
}
我有错误:
2017-08-04T10:17:06.390 + 0200 E QUERY [thread1] TypeError:collection [i]未定义: @(壳):2:9
当我在mongodb shell中执行命令时:
var collection = db.DATA.find();
db.PARSED_DATA.insert(collection[0].folders);
db.PARSED_DATA.insert(collection[1].folders);
db.PARSED_DATA.insert(collection[2].folders);
我有预期的结果,我仍然不理解为什么我的for循环不起作用。
编辑: 当我在Robo 3T中执行此操作时,我得到了预期的结果:
var collection = db.DATA.find().toArray();
for (var i = 0; i < 3; i++) {
db.PARSED_DATA.insert(collection[i].folders);
}
但是当我使用
在我的bash代码中执行它时mongo <myip>:27017 < db_parse.js
我再次收到错误
答案 0 :(得分:0)
I achieve to create what i expect with these codes :
db_parse.sh
mongo <myip>:27017 < db_parse.js
db_parse.js
use <db_name>
var collection = db.DATA.find();
while(collection.hasNext()){
db.PARSED_DATA.insert(collection.next().folders);
}
I use this MongoDB manual.