因此,我确定这里缺少一些简单的东西,但是当我将mongo作为守护程序运行时(使用mongod --fork或只是mongod),与在主机上仅运行“mongo”相比,我看到的数据库内容有所不同。
我唯一的假设是,仅在 shell 程序上运行时,数据将存储在/ data / db以外的其他位置,而在引导mongod时将切换到/ data / db。在这种情况下,运行mongod时如何获取数据?
最佳答案
我认为这里有些困惑。mongod
是“Mongo Daemon”,它基本上是数据库的宿主进程。当您启动mongod
时,您基本上是在说“启动MongoDB进程并在后台运行它”。 mongod
具有几个默认参数,例如将数据存储在/data/db
中并在端口27017上运行。mongo
是连接到mongod
特定实例的命令行 shell 。当您不带任何参数运行mongo
时,默认情况下将连接到端口27017上的本地主机。如果对无效的machine:port组合运行mongo
,它将无法连接(并告诉您更多信息)。
理想情况下,除了“玩转”以外,您还可以使用Command Line Parameters来启动mongod
。通过相同的措施,您应该使用明确的指令启动mongo
shell。
根据您的描述,我认为您可能会遇到有关使用默认数据库的问题。尝试使用以下命令启动mongo
(其中dbname
是您的数据库名称)
./mongo localhost:27017/dbname
关于mongodb - Mongodb-运行 “mongo”和 “mongod”数据库之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4883045/