2014-02-25 74 views
67

如何將Robomongo(或任何其他mongodb客戶端)連接到由本地Meteor應用程序創建的mongodb實例?如何將mongodb客戶端連接到本地Meteor MongoDB

+0

喜@ user3330705:

創建您本地主機一個Robomongo連接和命中測試(出兩項檢查,認證可能會失敗)它實際上是完整的/最好的,那麼你可以將它標記爲接受的答案,以便閱讀這篇文章的人會知道它的工作原理。 –

+0

可能的重複[如何由流星安裝MongoDb?](http://stackoverflow.com/questions/14371926/how-is-mongodb-installed-by-meteor) –

+0

我在OS X上,使用robomongo:我只是使用'localhost'和端口'3001'而沒有任何驗證連接。 –

回答

111

確保Meteor正在本地主機上運行。打開終端窗口並運行meteor命令。如果您沒有更改爲端口,它將開始在localhost:3000上運行。

它在運行時,打開一個單獨的終端窗口並運行meteor mongo命令。這將打開一個MongoDB shell並告訴你它連接的是什麼端口。如果是早期版本,通常是3001版本,如0.7.1.1或3002版本。它會說類似127.0.0.1:3001/meteor

轉到Robomongo(或您最喜歡的mongodb客戶端軟件)並創建一個新連接,確保將連接地址更改爲本地主機和給定的端口號。如果您的客戶端不堅持默認數據庫,則無需額外定義/流星。

同樣如https://stackoverflow.com/a/22023284/1064151中指出的一些驅動程序可能需要特定的行結束符,定界符或其他字符流。例如,基於C驅動程序的ObjCMongoDB最終需要url爲127.0.0.1:3001/,並且該額外的/,或者它不起作用。所以請確保您檢查您的驅動程序/客戶端的文檔。

+0

我正在嘗試相同的事情。我使用mongoDB驅動程序寫入我的流星mongoDB。在我使用'127.0.0.1:3002'之前就像你上面說的那樣。現在我明白港口已經轉移到':3001',但那個地址仍然不適合我。數據庫名稱是否也改變了?更清楚的是,一旦我連接到本地主機'127.0.0.1:3002',我還需要我的數據庫名稱,即'meteor.collection'。這是否也隨着更新而改變? – Nate

+1

想通了。爲特定的mongoDB驅動程序添加了另一個答案。 – Nate

+1

@Nate我剛剛更新了答案以反映這些信息。感謝指針。 –

0

我也使用Robomongo和最新更新V0.7.1之前,我所使用的端口3002連接,如@Serkan杜魯索伊表明它正在爲3001端口

0

我使用的是最新的更新的ObjCMongoDB,一個基於C的mongoDB驅動程序。使用新的更新而不是使用先前的127.0.0.1:3002連接到運行流星的mongodb的本地主機,現在我需要使用127.0.0.1:3001/,集合名稱仍然是meteor.collection。重要的變化是從:3002:3001/的港口。請記住/,這對連接至關重要。

1

這對我有用,連接之前確保meteor正在運行。 我正在使用Robomongo進行連接。創建新連接並添加 地址爲:localhost; 端口爲:3001

26
得到當前配置的詳細信息

最簡單的方法是使用下面的命令

meteor mongo -U 

這會給你的連接字符串

24

從終端運行以下命令

meteor mongo -U 

這將顯示本地主機IP地址以及您的應用程序在哪個端口上運行。現在運行Robomongo和配置爲以下兩個領域,你通過運行前面的命令

enter image description here

+0

連接,但無法看到集合。任何想法? –

+0

同樣的問題 - 連接但沒有收藏 - 你解決了嗎? –

0

@ imal365答案是完美的了。只是爲了增加我的洞察力:

我意識到默認的Meteor Mongo端口號是添加了1的應用程序的端口號(從版本0.7.1.1開始)。就我而言,我使用命令meteor --port 1337在端口1337上運行流星,我的Meteor Mongo端口爲1338

0

使用SSH隧道通過以下命令:

ssh -L 3001:localhost:3001 [email protected] 

它轉發到本地主機從您的本地端口3001連接:在您的服務器3001。現在我們可以直接連接到我們的數據庫。如果你認爲答案是不是有用,更

enter image description here