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

问题描述 投票:4回答:1

这个问题在这里已有答案:

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

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

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

mongodb mongo-shell
1个回答
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() );
}
© www.soinside.com 2019 - 2024. All rights reserved.