MongoDB es un motor de persistencia orientado a documentos, diseñado para soportar aplicaciones web que requieren alta disponibilidad y escalabilidad horizontal. Escrito en C++, combina la flexibilidad de los esquemas dinámicos con expresivas capacidades de consulta, utilizando BSON (Binary JSON) como formato nativo de almacenamiento.
Solución al error 1067 al iniciar el servicio
Cuando el servicio de MongoDB no arranca y retorna el código 1067, el proceso suele detenerse por inconsistencias en los archivos de bloqueo. El procedimiento de recuperación es el sgiuiente:
- Eliminar el archivo de bloqueo:
C:\mongodb\bin\data\db\mongod.lock - Desinstalar el servicio mediante un script batch:
@echo off cd "C:\mongodb\bin" mongod.exe --config "C:\mongodb\bin\mongo.conf" --remove --journal pause - Volver a registrar el servicio:
@echo off cd "C:\mongodb\bin" mongod.exe --config "C:\mongodb\bin\mongo.conf" --install --journal pause - Iniciar el servicio desde consola:
net start mongodb
Exportación de datos a Excel
Para generar reportes en hojas de cálculo, utiliza mongoexport con formato CSV:
mongoexport ^
-h 192.168.182.202 ^
-d ZTEPartnerSys ^
-c logsystemdelegatemodels ^
-f LogUserId,SubmitDateTime ^
--csv ^
-o reporte.csv
Después de la exportación, abre el archivo reporte.csv con el Bloc de notas y guárdalo con codificación ANSI para evitar problemas de caracteres al abrirlo en Excel.
Respaldos y restauraciones
Crear un respaldo:
mongodump ^
--host 192.168.182.202 ^
--db ZTEPartnerSys ^
--out C:\backups\mongodump_$(Get-Date -Format 'yyyyMMdd')
Restaurar una colección:
mongorestore ^
--host 192.168.182.202 ^
--db ZTEPartnerSys ^
--collection logsystemdelegatemodels ^
C:\backups\mongodump_20240610\ZTEPartnerSys\logsystemdelegatemodels.bson
Habilitar autenticación
- Crear el usuario administrador en la base
admin:use admin db.createUser({ user: "adminRoot", pwd: "S3cr3t#2024", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) - Crear un usuario con acceso limitado a una base de datos específica:
use TestDB db.createUser({ user: "appUser", pwd: "AppP@ss", roles: [ { role: "readWrite", db: "TestDB" } ] }) - Modificar el servicio para que arranque con autenticación:
Cambia la claveImagePathen el registro de Windows:
"C:\mongodb\bin\mongod.exe" --config "C:\mongodb\bin\mongo.conf" --auth --service - Reiniciar el servicio:
net stop mongodb net start mongodb
Cadena de conexión con credenciales
Conexión sin autenticación:
<add name="ZTEPartnerDB2"
connectionString="mongodb://192.168.182.202" />
Conexión con usuario y contraseña:
<add name="ZTEPartnerDB2"
connectionString="mongodb://adminRoot:S3cr3t#2024@192.168.182.202/admin" />
Exploración visual con Robo 3T
Robo 3T (anteriormente Robomongo) permite explorar y administrar bases de datos MongoDB mediante una interfaz gráfica. Para conectarte:
- Abre Robo 3T y pulsa "Create".
- Introduce la dirección del servidor y el puerto (por defecto 27017).
- Si la autenticación está activa, selecciona la pestaña "Authentication" y rellena usuario, contraseña y base de datos de autenticación.
- Guarda la conexión y haz clic en "Connect".