Това е основната грешка:
изключение в initAndListen:NonExistentPath:Директорията с данни /data/db не е намерена., прекратява се
Catalina има изненадваща промяна:няма да позволи промени в основната директория (това също беше обсъдено във форумна тема):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
За съжаление, това не е посочено изрично в бележките за изданието на Apple Catalina, освен кратко споменаване в функциите на Catalina:
macOS Catalina работи в специален системен том само за четене
Тъй като директорията /data/db
е кодиран като MongoDB по подразбиране, заобиколно решение е да посочите различен dbpath
който не се намира в основната директория. Например:
mongod --dbpath ~/data/db
Това ще постави данните на MongoDB във вашата домашна директория. Просто се уверете, че пътят ~/data/db
всъщност съществува.
Алтернативен метод
Алтернативен метод е да следвате инструкциите в Инсталирайте MongoDB Community Edition на macOS, като използвате brew
:
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
-
Стартирайте MongoDB като услуга, като използвате
brew services
. Имайте предвид, че това ще стартира MongoDB като самостоятелен възел (не набор от реплика), така че функции, които зависят от oplog, напр. changestreams няма да работи, освен ако не променитеmongod
конфигурационен файл:brew services start mongodb-community