使用 javascript 循环在 mongodb 中插入数据
Insert data in mongodb using javascript loop
我想用 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] is undefined :
@(shell):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);
}
Result in Robo 3T
但是当我在 bash 代码中使用
执行它时
mongo <myip>:27017 < db_parse.js
我又报错了
我用这些代码实现了我的期望:
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);
}
我使用thisMongoDB手动
我想用 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] is undefined : @(shell):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);
}
Result in Robo 3T
但是当我在 bash 代码中使用
执行它时mongo <myip>:27017 < db_parse.js
我又报错了
我用这些代码实现了我的期望:
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);
}
我使用thisMongoDB手动