2011-02-03 57 views
28

所以,我確信我在這裏錯過了一些簡單的東西,但是當我將mongo作爲守護進程運行時(使用mongod -fork或者只是mongod)看到不同的數據庫內容比如果我只是在主機上運行「mongo」。Mongodb - 運行「mongo」和「mongod」數據庫之間的區別

我唯一的假設是,當數據正在運行shell時,數據將被存儲在/ data/db以外的其他地方,並且在啓動mongod時切換到/ data/db。在那種情況下,運行mongod時如何獲得我的數據?

+0

不知道你是問在這裏,但mongod的是數據庫服務器和蒙戈是客戶端。那麼,「我看到不同的數據庫內容」是什麼意思? – mikezter 2011-03-17 13:08:56

回答

62

我認爲這裏有一些困惑。

mongod是「Mongo Daemon」,它基本上是數據庫的主機進程。當你開始mongod你基本上說「啓動MongoDB進程並在後臺運行」mongod具有若干默認參數,諸如在/data/db存儲數據和在端口27017

mongo運行在命令行外殼連接到的mongod一個特定實例。當您運行mongo而沒有參數時,它默認爲連接到端口27017上的本地主機。如果針對無效的機器:端口組合運行mongo,那麼它將無法連接(並告訴您儘可能多)。

理想情況下,除了「玩耍」之外,您還可以使用Command Line Parameters來啓動mongod。通過相同的措施,您應該使用明確的說明啓動mongo外殼程序。

根據您的描述,我認爲您可能會遇到有關使用默認數據庫的問題。開始嘗試用mongo以下(其中dbname是你的數據庫名稱)

./mongo localhost:27017/dbname 
相關問題