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

标签 mongodb mongo-shell

我认为这是一个非常基本的问题,但我被困住了。我通过 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/

相关文章:

java - (Spring Data MongoDB)多对多关系场景

mongodb - 无法制作带有身份验证的基本 mongo shell 脚本

arrays - 不能使用部分 (...) 遍历元素

MongoDB 将数组迁移到字典

MongoDB 条件投影

node.js - 如何通过 mongoose 虚拟字段查询找到 MongoDB 文档?

node.js - 在 Node js 中使用 secret token 进行电子邮件验证

java - GAE 无法查找 mongodb atlas 实例的 SRV 记录

mongodb - 获取查询中所有文档的大小

mongodb - mongodb 的 'updateMany' 函数是否已弃用?