C'est l'erreur principale :
exception dans initAndListen :NonExistentPath :répertoire de données /data/db introuvable., fin
Catalina a un changement surprise :il n'autorisera pas les modifications du répertoire racine (cela a également été discuté dans un fil de discussion du forum) :
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Malheureusement, cela n'est pas énoncé explicitement dans les notes de publication d'Apple sur Catalina, à part une brève mention dans les fonctionnalités de Catalina :
macOS Catalina s'exécute dans un volume système dédié en lecture seule
Depuis le répertoire /data/db
est codé comme MongoDB par défaut, une solution consiste à spécifier un autre dbpath
qui ne se trouve pas dans le répertoire racine. Par exemple :
mongod --dbpath ~/data/db
Cela placera les données de MongoDB dans votre répertoire personnel. Assurez-vous simplement que le chemin ~/data/db
existe réellement.
Méthode alternative
Une autre méthode consiste à suivre les instructions de Installer MongoDB Community Edition sur macOS en utilisant brew
:
brew tap mongodb/brew
brew install mongodb-community
Cela créera des fichiers supplémentaires par défaut :
- le fichier de configuration (/usr/local/etc/mongod.conf)
- le chemin du répertoire du journal (/usr/local/var/log/mongodb)
- le chemin du répertoire de données (/usr/local/var/mongodb)
Pour exécuter mongod
vous pouvez soit :
-
Exécutez la commande manuellement à partir de la ligne de commande (cela peut être un alias pour plus de commodité) :
mongod --config /usr/local/etc/mongod.conf
-
Exécutez MongoDB en tant que service à l'aide de
brew services
. Notez que cela exécutera MongoDB en tant que nœud autonome (pas un jeu de répliques), donc les fonctionnalités qui dépendent de l'oplog, par exemple. changestreams ne fonctionnera que si vous modifiez lemongod
fichier de configuration :brew services start mongodb-community