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