我正在尝试创建一些mongoDB脚本(文件上传到集合,查找,创建新集合等)。虽然感到困惑。当我在控制台中运行时:
> use importCSV
> db.people.find().pretty()
我在屏幕上从集合中获取文档,但是当我运行load command
时> load('e:/work/parse/script.js')
我得到输出
true
这里是javaScript文件列表
db = db.getSiblingDB('importCSV');
db.people.find().pretty();
我是出于调试目的而做的,所以我逐行创建javaScript以获得我想要的东西,我需要逐步查看一些命令输出。如果我把这样的javaScript文件命令放在
中print('Print from javaScript file');
它打印到控制台没有任何问题。
为什么从文件而不是控制台输出运行时得到“true”,以及如何从javaScript文件运行时获取打印的文档列表?
由于
答案 0 :(得分:1)
这是预期的行为。您需要遍历游标并使用.forEach
循环显式打印每个文档,因为您没有使用交互式shell。
db = db.getSiblingDB('importCSV');
db.people.find().forEach(function(doc) {
printjson(doc);
}