Detta är huvudfelet:
undantag i initAndListen:NonExistentPath:Datakatalogen /data/db hittades inte., avslutas
Catalina har en överraskande förändring:den tillåter inte ändringar av rotkatalogen (detta diskuterades också i en forumtråd):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Tyvärr stavas detta inte uttryckligen i Apples utgåvan av Catalina, annat än ett kort omnämnande i Catalinas funktioner:
macOS Catalina körs i en dedikerad, skrivskyddad systemvolym
Eftersom katalogen /data/db
är kodad som MongoDB standard, är en lösning att ange en annan dbpath
som inte finns i rotkatalogen. Till exempel:
mongod --dbpath ~/data/db
Detta kommer att placera MongoDBs data i din hemkatalog. Se bara till att sökvägen ~/data/db
faktiskt existerar.
Alternativ metod
En alternativ metod är att följa instruktionerna på Install MongoDB Community Edition på macOS genom att använda brew
:
brew tap mongodb/brew
brew install mongodb-community
Detta kommer att skapa några ytterligare filer som standard:
- konfigurationsfilen (/usr/local/etc/mongod.conf)
- loggkatalogens sökväg (/usr/local/var/log/mongodb)
- datakatalogsökvägen (/usr/local/var/mongodb)
För att köra mongod
du kan antingen:
-
Kör kommandot manuellt från kommandoraden (detta kan alias för enkelhetens skull):
mongod --config /usr/local/etc/mongod.conf
-
Kör MongoDB som en tjänst med
brew services
. Observera att detta kommer att köra MongoDB som en fristående nod (inte en replikuppsättning), så funktioner som beror på oploggen t.ex. changestreams kommer inte att fungera om du inte ändrarmongod
konfigurationsfil:brew services start mongodb-community