[英]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
某个地方; 请参阅Github的README 。
你现在可以这样做:
mmongo myapp.meteor.com myscript.js
一些例子也见这个答案 。
(以前在Ruby中有一个功能较少的脚本;请参阅此Gist 。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.