To jest główny błąd:
wyjątek w initAndListen:NonExistentPath:Nie znaleziono katalogu danych /data/db., zakończenie
Catalina ma niespodziankę:nie pozwoli na zmiany w katalogu głównym (o tym również dyskutowano w wątku na forum):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Niestety, nie jest to wyraźnie określone w informacjach o wydaniu Cataliny firmy Apple, poza krótką wzmianką w funkcjach Cataliny:
macOS Catalina działa na dedykowanym woluminie systemowym tylko do odczytu
Ponieważ katalog /data/db jest zakodowany jako domyślny MongoDB, obejściem jest określenie innej dbpath który nie znajduje się w katalogu głównym. Na przykład:
mongod --dbpath ~/data/db
Spowoduje to umieszczenie danych MongoDB w twoim katalogu domowym. Upewnij się tylko, że ścieżka ~/data/db faktycznie istnieje.
Alternatywna metoda
Alternatywną metodą jest postępowanie zgodnie z instrukcjami w Zainstaluj MongoDB Community Edition na macOS, wykorzystując brew :
brew tap mongodb/brew
brew install mongodb-community
Spowoduje to domyślnie utworzenie kilku dodatkowych plików:
- plik konfiguracyjny (/usr/local/etc/mongod.conf)
- ścieżka katalogu dziennika (/usr/local/var/log/mongodb)
- ścieżka katalogu danych (/usr/local/var/mongodb)
Aby uruchomić mongod możesz:
-
Uruchom polecenie ręcznie z wiersza poleceń (dla wygody można użyć aliasu):
mongod --config /usr/local/etc/mongod.conf -
Uruchom MongoDB jako usługę przy użyciu
brew services. Zwróć uwagę, że uruchomi to MongoDB jako samodzielny węzeł (nie zestaw replik), więc funkcje zależne od oploga, np. changestreams nie będą działać, chyba że zmodyfikujeszmongodplik konfiguracyjny:brew services start mongodb-community