2

我启动并运行了 MongoDB,并确认正在通过端口 27017 上的 RoboMongo 添加和访问数据库。所有数据库文件都在/data/db中访问。

我试图创建一个新数据库,但无法创建它。我仔细检查了 mongod.conf 文件cat mongod.conf。它似乎有原始的 Homebrew 设置信息:

 systemLog:
    destination: file
    path: /usr/local/var/log/mongodb/mongo.log
    logAppend: true
 storage:
    dbPath: /usr/local/var/mongodb
 net:
     bindIp: 127.0.0.1

我第二次将 db 路径更改为 /data/db mongod --dbpath /data/db。依然没有。我还注意到一个 mongod.lock大小为 4B 的文件。我运行mongod并在终端内运行,它显示journal dir=/data/db/journal,recover : no journal files present, no recovery neededdbpath=/data/db.

我仍然无法通过本地端口 27017 上的 Robomongo 使用基本的 Mongoose 连接添加和访问数据库。我无法访问/data/db. 有了ps aux | grep mongod,我发现即使在我关闭后也有两个实例在运行mongod

376  0.0  0.3  2718944  25140   ??  S     8:45PM   0:04.87 /usr/local/opt/mongodb/bin/mongod --config /usr/local/etc/mongod.conf

863   0.0  0.0  2452228    700 s005  S+    9:58PM   0:00.01 grep mongod
4

1 回答 1

0

我在活动监视器中杀死了 mongod 进程。然后我根据文档删除了锁定文件并使用 mongod --dbpath /data/db --repair 重新启动了 mongodb。我现在看到了我在 /data/db 中的数据库。我看到了我之前创建的集合和数据库

我正在使用编码小成功的原则,这让我很失望。我添加新数据库的问题是通过添加集合来解决的,所以 Mongo 会一次性创建数据库和数据,这就是 MySQL 和 Mongo 的区别。

于 2016-04-07T16:06:21.837 回答