[英]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.