MongoDB从控制台和输出运行javaScript文件

时间:2015-10-22 16:23:11

标签: javascript mongodb console

我正在尝试创建一些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文件运行时获取打印的文档列表?

由于

1 个答案:

答案 0 :(得分:1)

这是预期的行为。您需要遍历游标并使用.forEach循环显式打印每个文档,因为您没有使用交互式shell。

db = db.getSiblingDB('importCSV');
db.people.find().forEach(function(doc) {
    printjson(doc);
}