これが主なエラーです:
initAndListenの例外:NonExistentPath:データディレクトリ/ data / dbが見つかりません。、終了しています
カタリナには意外な変更があります。ルートディレクトリへの変更は許可されません(これはフォーラムスレッドでも説明されています):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
残念ながら、これは、カタリナの機能での簡単な言及を除いて、アップルのカタリナリリースノートで明確に説明されていません:
macOS Catalinaは、専用の読み取り専用システムボリュームで実行されます
ディレクトリ/data/db
以降 はMongoDBのデフォルトとしてコーディングされています。回避策は、別のdbpath
を指定することです。 ルートディレクトリにありません。例:
mongod --dbpath ~/data/db
これにより、MongoDBのデータがホームディレクトリに配置されます。パスが~/data/db
であることを確認してください 実際に存在します。
代替方法
別の方法は、brew
を利用して、macOSにMongoDBCommunityEditionをインストールする手順に従うことです。 :
brew tap mongodb/brew
brew install mongodb-community
これにより、デフォルトでいくつかの追加ファイルが作成されます:
- 構成ファイル(/usr/local/etc/mongod.conf)
- ログディレクトリパス(/ usr / local / var / log / mongodb)
- データディレクトリパス(/ usr / local / var / mongodb)
mongod
を実行するには 次のいずれかを実行できます:
-
コマンドラインから手動でコマンドを実行します(これは便宜上エイリアス化できます):
mongod --config /usr/local/etc/mongod.conf
-
brew services
を使用してMongoDBをサービスとして実行する 。これにより、MongoDBが(レプリカセットではなく)スタンドアロンノードとして実行されるため、oplogに依存する機能(例:mongod
を変更しない限り、changestreamsは機能しません 構成ファイル:brew services start mongodb-community