如何在mongo shell中运行本地脚本 - 解决方案load()

时间:2017-06-30 05:04:50

标签: mongodb mongo-shell

我认为这是一个非常基本的问题,但我被困住了。我通过MongoDB shell连接到远程mongo实例(mLab)。对于单行来说这很好,但是现在我想要运行更大的命令,但是经常需要从已经连接的shell中执行它。

如何从mongo shell运行我的本地script.js并获取shell中的输出,就好像我只是按常规运行单行?

我希望加载(" script.js")会这样做,但它只会返回' true'无论内容如何。

1 个答案:

答案 0 :(得分:9)

执行JavaScript文件

您可以为mongo shell指定.js文件,mongo将直接执行JavaScript。请考虑以下示例:

mongo localhost:27017/test myjsfile.js

用您的Mlab URL替换Localhost URL

或者如果你在shell中你可以使用load()函数从mongo shell中执行.js文件,如下所示:

load("myjstest.js")

请参阅此link

修改脚本文件以打印结果光标中的所有项目,使用以下习语:

cursor = db.collection.find();
 while ( cursor.hasNext() ) {
   printjson( cursor.next() );
}