Dit is de belangrijkste fout:
uitzondering in initAndListen:NonExistentPath:Data directory /data/db niet gevonden., beëindigen
Catalina heeft een verrassende wijziging:het zal geen wijzigingen in de hoofdmap toestaan (dit werd ook besproken in een forumthread):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Helaas wordt dit niet expliciet vermeld in de release-opmerkingen van Apple Catalina, behalve een korte vermelding in Catalina-functies:
macOS Catalina draait op een speciaal, alleen-lezen systeemvolume
Sinds de directory /data/db
is gecodeerd als MongoDB-standaard, een oplossing is om een ander dbpath
op te geven die zich niet in de hoofdmap bevindt. Bijvoorbeeld:
mongod --dbpath ~/data/db
Hierdoor worden de gegevens van MongoDB in uw thuismap geplaatst. Zorg ervoor dat het pad ~/data/db
echt bestaat.
Alternatieve methode
Een alternatieve methode is om de instructies bij Install MongoDB Community Edition op macOS te volgen door gebruik te maken van brew
:
brew tap mongodb/brew
brew install mongodb-community
Dit zal standaard enkele extra bestanden aanmaken:
- het configuratiebestand (/usr/local/etc/mongod.conf)
- het pad van de logdirectory (/usr/local/var/log/mongodb)
- het gegevensmappad (/usr/local/var/mongodb)
Om mongod
uit te voeren je kunt ofwel:
-
Voer de opdracht handmatig uit vanaf de opdrachtregel (dit kan voor het gemak een alias zijn):
mongod --config /usr/local/etc/mongod.conf
-
Voer MongoDB uit als een service met behulp van
brew services
. Merk op dat dit MongoDB zal draaien als een standalone node (geen replicaset), dus functies die afhankelijk zijn van de oplog, b.v. changestreams werken niet tenzij je demongod
. aanpast configuratiebestand:brew services start mongodb-community