簡體   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