繁体   English   中英

你如何使用部署的流星应用程序运行mongo shell脚本?

[英]how do you run a mongo shell script with a deployed meteor app?

使用mongo,您可以编写传递到shell中的脚本,如:

mongo myDB script.js

http://docs.mongodb.org/manual/tutorial/write-scripts-for-the-mongo-shell/

但要访问已部署的流星应用程序的mongo shell,请执行以下操作:

meteor mongo myApp.meteor.com

我无法像这样传递脚本文件:

 meteor mongo myApp.meteor.com script.js

因为我部署的应用程序受密码保护,上面的语句将script.js提供给密码提示。

所以问题是你会怎么做?

或者,如何在不使用流星的情况下连接到部署的流星应用程序的mongo shell?

通过meteor mongo myapp.meteor.com --url获取实例的登录详细信息。 你会得到一些应该匹配的东西

mongodb:// username password @ host port / databasename

您可以使用它在计算机上通过mongo登录。 请注意登录详细信息仅持续1分钟,届时您需要再次使用meteor mongo --url

mongo host:port/databasename -u username -p password yourscript.js

扩大Akshat的答案。 meteor mongo --url推出的URI字符串是MongoDB 连接字符串 mongo shell本身不支持这种格式,这有点令人惊讶。 据报道是一个错误 ; 另见Stack Overflow答案

如果meteor mongo有一种方法可以将未经分析的参数直接传递给mongo shell,那将会很不错。 遵循一个常见的Unix习语,它可能是这样的:

meteor mongo myapp.meteor.com -- myscript.js --some-other-mongo-parameter

但这不起作用(我提交了一个功能请求 )。

我为所有mongo客户端shell命令编写了一个便捷包装器。 你可以用NPM安装它:

npm install -g mmongo

如果你不使用NPM,它只是一个文件放在$PATH某个地方; 请参阅GithubREADME

你现在可以这样做:

mmongo myapp.meteor.com myscript.js 

一些例子也见这个答案

(以前在Ruby中有一个功能较少的脚本;请参阅此Gist 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM