Este es el error principal:
excepción en initAndListen:NonExistentPath:directorio de datos /data/db no encontrado., terminando
Catalina tiene un cambio sorpresa:no permitirá cambios en el directorio raíz (esto también se discutió en un hilo del foro):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Desafortunadamente, esto no se explica explícitamente en las notas de lanzamiento de Catalina de Apple, aparte de una breve mención en las características de Catalina:
macOS Catalina se ejecuta en un volumen de sistema exclusivo de solo lectura
Desde el directorio /data/db
está codificado como valor predeterminado de MongoDB, una solución consiste en especificar un dbpath
diferente que no se encuentra en el directorio raíz. Por ejemplo:
mongod --dbpath ~/data/db
Esto colocará los datos de MongoDB en su directorio de inicio. Solo asegúrese de que la ruta ~/data/db
realmente existe.
Método alternativo
Un método alternativo es seguir las instrucciones en Instalar MongoDB Community Edition en macOS aprovechando brew
:
brew tap mongodb/brew
brew install mongodb-community
Esto creará algunos archivos adicionales por defecto:
- el archivo de configuración (/usr/local/etc/mongod.conf)
- la ruta del directorio de registros (/usr/local/var/log/mongodb)
- la ruta del directorio de datos (/usr/local/var/mongodb)
Para ejecutar mongod
puedes:
-
Ejecute el comando manualmente desde la línea de comando (esto puede tener un alias para mayor comodidad):
mongod --config /usr/local/etc/mongod.conf
-
Ejecute MongoDB como un servicio usando
brew services
. Tenga en cuenta que esto ejecutará MongoDB como un nodo independiente (no como un conjunto de réplicas), por lo que las características que dependen del registro de operaciones, p. changestreams no funcionará a menos que modifique elmongod
archivo de configuración:brew services start mongodb-community