2011-02-03 11 views
28

Yani, burada basit bir şey eksik, ama cini olarak mongo çalıştırdığınızda (mongod --fork ya da sadece mongod kullanarak) eminim, ben Farklı veritabanı içeriğini, ana makinede "mongo" çalıştırıyormuş gibi görüyorum.mongodb - "Mongo" çalışan ve "mongod" veritabanları arasındaki fark

Benim tek varsayımım, yalnızca kabuk çalıştırıldığında/data/db dışında bir yerde saklanmakta ve mongodu başlattığımda/data/db'ye geçiyor. Bu durumda, mongod çalıştırırken verilere nasıl ulaşırım?

+0

değil burada soruyorsunuz ama mongod veritabanı sunucusudur ve Mongo istemci ne olduğundan emin. Yani "Farklı veritabanı içeriğini görüyorum" ile ne demek istiyorsun? – mikezter

cevap

62

Burada biraz karışıklık olduğunu düşünüyorum. "Mongo Daemon" temelde veritabanı için ana işlem sürecidir. mongod'u başlattığınızda temel olarak diyorsunuz "MongoDB işlemini başlatın ve arka planda çalıştırın". mongod örneğin mongod belirli bir örneği bağlanır komut satırı kabuğu olan /data/db veri saklamak ve bağlantı noktası 27017.

mongo çalışan gibi çeşitli varsayılan parametreler vardır. liman kombinasyonu daha sonra bağlanmak için başarısız (ve size biraz anlattılar) olacaktır: Geçersiz bir makineye karşı mongo çalıştırırsanız port 27017. üzerinde localhost bağlanırken hiçbir parametreler varsayılan olarak birlikte mongo çalıştırdığınızda.

İdeal olarak, yalnızca "etrafında oynama" dışında bir şey yaparken, mongod'u başlatmak için Command Line Parameters'u kullanırsınız. Aynı ölçü ile, açık yönergelerle mongo kabuğunu başlatmalısınız. açıklamanızda dayanarak

, sana varsayılan veritabanlarının kullanımına ilişkin bir sorun yaşıyor olabilirsiniz düşünüyorum. takipçinizin mongo başlatmayı deneyin ( dbname veritabanı adıdır)

./mongo localhost:27017/dbname