2

MongoDB を起動して実行し、RoboMongo を介してポート 27017 でデータベースが追加およびアクセスされていることを確認しました。すべてのデータベース ファイルは/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/journalrecover : no journal files present, no recovery neededと表示されdbpath=/data/dbます。

ローカル ポート 27017 で Robomongo を介して基本的な Mongoose 接続を使用してデータベースを追加したり、データベースにアクセスしたりすることにまだ問題がありました。 内のデータベースにアクセスできません/data/db。ではps aux | grep mongod、シャットダウンした後でも 2 つのインスタンスが実行されていることがわかりました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

Activity Monitor で mongod プロセスを強制終了しました。次に、ドキュメントに従って、ロックファイルを削除し、mongod --dbpath /data/db --repair で mongodb を再起動しました。/data/db 内にあったデータベースが表示されます。以前に作成したコレクションとデータベースが表示されます

私は小さな成功をコーディングするという原則を使っていましたが、それが私を挫折させました。新しいデータベースを追加するという私の問題は、コレクションを追加することで解決されたので、Mongo はデータベースとデータを 1 回で作成します。これが MySQL と Mongo の違いです。

于 2016-04-07T16:06:21.837 に答える