我认为这是一个非常基本的问题,但我被困住了。我通过 MongoDB shell 连接到远程 mongo 实例(mLab)。这对于单行来说很好,但现在我想运行更大的命令,但经常,因此需要从已经连接的 shell 中执行。
如何从 mongo shell 运行我的本地 script.js 并在 shell 中获取输出,就好像我通常只是运行单线一样?
我希望 load("script.js") 能做到这一点,但不管内容如何,它只会返回 'true'。
最佳答案
执行一个 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() );
}
关于mongodb - 如何在 mongo shell 中运行本地脚本 - 解决方案 load(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44838931/