Questo è l'errore principale:
eccezione in initAndListen:NonExistentPath:directory dati /data/db non trovata., terminante
Catalina ha un cambiamento a sorpresa:non consentirà modifiche alla directory principale (questo è stato discusso anche in un thread del forum):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Sfortunatamente, questo non è spiegato in modo esplicito nelle note sulla versione di Catalina di Apple, a parte una breve menzione nelle funzionalità di Catalina:
macOS Catalina viene eseguito in un volume di sistema di sola lettura dedicato
Poiché la directory /data/db
è codificato come MongoDB predefinito, una soluzione alternativa consiste nello specificare un diverso dbpath
che non si trova nella directory principale. Ad esempio:
mongod --dbpath ~/data/db
Questo posizionerà i dati di MongoDB nella tua home directory. Assicurati solo che il percorso ~/data/db
esiste davvero.
Metodo alternativo
Un metodo alternativo consiste nel seguire le istruzioni in Install MongoDB Community Edition su macOS sfruttando brew
:
brew tap mongodb/brew
brew install mongodb-community
Questo creerà alcuni file aggiuntivi per impostazione predefinita:
- il file di configurazione (/usr/local/etc/mongod.conf)
- il percorso della directory di log (/usr/local/var/log/mongodb)
- il percorso della directory dei dati (/usr/local/var/mongodb)
Per eseguire mongod
puoi:
-
Esegui il comando manualmente dalla riga di comando (questo può essere alias per comodità):
mongod --config /usr/local/etc/mongod.conf
-
Esegui MongoDB come servizio utilizzando
brew services
. Nota che questo eseguirà MongoDB come nodo autonomo (non un set di repliche), quindi funzionalità che dipendono dall'oplog, ad es. changestreams non funzionerà a meno che non modifichimongod
file di configurazione:brew services start mongodb-community