我认为这是一个非常基本的问题,但我被困住了。我通过MongoDB shell连接到远程mongo实例(mLab)。对于单行来说这很好,但是现在我想要运行更大的命令,但是经常需要从已经连接的shell中执行它。
如何从mongo shell运行我的本地script.js并获取shell中的输出,就好像我只是按常规运行单行?
我希望加载(" script.js")会这样做,但它只会返回' true'无论内容如何。
答案 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() );
}