Toto je hlavní chyba:
výjimka v initAndListen:NonExistentPath:Datový adresář /data/db nenalezen., ukončení
Catalina má překvapivou změnu:nedovolí změny v kořenovém adresáři (toto bylo také diskutováno ve vláknu fóra):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Bohužel to není výslovně uvedeno v poznámkách k vydání Catalina společnosti Apple, kromě krátké zmínky ve funkcích Catalina:
macOS Catalina běží ve vyhrazeném systémovém svazku pouze pro čtení
Od adresáře /data/db je kódován jako výchozí MongoDB, řešením je zadat jinou dbpath který není umístěn v kořenovém adresáři. Například:
mongod --dbpath ~/data/db
Tím umístíte data MongoDB do vašeho domovského adresáře. Jen se ujistěte, že cesta ~/data/db skutečně existuje.
Alternativní metoda
Alternativní metodou je postupovat podle pokynů v části Instalace MongoDB Community Edition na macOS pomocí brew :
brew tap mongodb/brew
brew install mongodb-community
Tím se ve výchozím nastavení vytvoří některé další soubory:
- konfigurační soubor (/usr/local/etc/mongod.conf)
- cesta k adresáři protokolu (/usr/local/var/log/mongodb)
- cesta k datovému adresáři (/usr/local/var/mongodb)
Chcete-li spustit mongod můžete buď:
-
Spusťte příkaz ručně z příkazového řádku (pro pohodlí lze použít alias):
mongod --config /usr/local/etc/mongod.conf -
Spusťte MongoDB jako službu pomocí
brew services. Všimněte si, že toto spustí MongoDB jako samostatný uzel (nikoli sadu replik), takže funkce, které závisí na oplogu, např. toky změn nebudou fungovat, pokud nezměnítemongodkonfigurační soubor:brew services start mongodb-community