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

Ste*_*lor 5 mongodb mongo-shell

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

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

我希望load("script.js")会这样做,但无论内容如何,​​它都会返回'true'.

kar*_*006 9

执行JavaScript文件

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

mongo localhost:27017/test myjsfile.js
Run Code Online (Sandbox Code Playgroud)

用您的Mlab URL替换Localhost URL

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

load("myjstest.js")
Run Code Online (Sandbox Code Playgroud)

请参阅此链接

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

cursor = db.collection.find();
 while ( cursor.hasNext() ) {
   printjson( cursor.next() );
}
Run Code Online (Sandbox Code Playgroud)