Dies ist der Hauptfehler:
Ausnahme in initAndListen:NonExistentPath:Datenverzeichnis /data/db not found., terminating
Catalina hat eine überraschende Änderung:Es erlaubt keine Änderungen am Root-Verzeichnis (dies wurde auch in einem Forum-Thread diskutiert):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Leider wird dies in den Catalina-Versionshinweisen von Apple nicht explizit erwähnt, abgesehen von einer kurzen Erwähnung in den Catalina-Funktionen:
macOS Catalina wird auf einem dedizierten, schreibgeschützten Systemvolume ausgeführt
Da das Verzeichnis /data/db
als MongoDB-Standard codiert ist, besteht eine Problemumgehung darin, einen anderen dbpath
anzugeben die sich nicht im Stammverzeichnis befindet. Zum Beispiel:
mongod --dbpath ~/data/db
Dadurch werden die Daten von MongoDB in Ihrem Home-Verzeichnis abgelegt. Stellen Sie einfach sicher, dass der Pfad ~/data/db
tatsächlich existiert.
Alternative Methode
Eine alternative Methode besteht darin, den Anweisungen unter Installation der MongoDB Community Edition unter macOS zu folgen, indem Sie brew
nutzen :
brew tap mongodb/brew
brew install mongodb-community
Dadurch werden standardmäßig einige zusätzliche Dateien erstellt:
- die Konfigurationsdatei (/usr/local/etc/mongod.conf)
- der Protokollverzeichnispfad (/usr/local/var/log/mongodb)
- der Datenverzeichnispfad (/usr/local/var/mongodb)
Um mongod
auszuführen Sie können entweder:
-
Führen Sie den Befehl manuell über die Befehlszeile aus (dies kann der Einfachheit halber mit einem Alias versehen werden):
mongod --config /usr/local/etc/mongod.conf
-
Führen Sie MongoDB mithilfe von
brew services
als Dienst aus . Beachten Sie, dass dies MongoDB als eigenständigen Knoten (kein Replikatsatz) ausführt, sodass Funktionen, die vom Oplog abhängen, z. Changestreams funktionieren nicht, es sei denn, Sie ändern denmongod
Konfigurationsdatei:brew services start mongodb-community