MongoDB es un programa de base de datos NoSQL multiplataforma orientado a documentos que utiliza documentos similares a JSON con esquemas opcionales. MongoDB es desarrollado por MongoDB Inc. y tiene licencia bajo la Licencia pública del lado del servidor.
En lugar de almacenar datos en tablas de filas o columnas como bases de datos SQL, cada registro en una base de datos MongoDB es un documento descrito en BSON, una representación binaria de los datos. Las aplicaciones pueden recuperar esta información en formato JSON.
Aquí hay un documento JSON simple que describe una figura histórica.
{
"_id": 1,
"name": {
"first": "Ada",
"last": "Lovelace"
},
"title": "The First Programmer",
"interests": ["mathematics", "programming"]
}
Contenido relacionado
- Cómo configurar la autenticación en Mongodb
- Cómo ejecutar Mongodb con Docker y Docker-Compose
- Cómo instalar Mongodb 5 en Rocky Linux/Centos 8
- Cómo instalar Mongodb 5 en Opensuse Leap 15.3
Requisitos
Para seguir, asegúrese de tener lo siguiente:
- Un servidor Fedora 34/35 actualizado
- Conocimiento de Terminal Linux
- Acceso a Internet
- Acceso root al servidor o Usuario con acceso Sudo
Tabla de contenido
- Asegurarse de que el servidor esté actualizado
- Instalando MongoDB
- Permitir el puerto MongoDB en el cortafuegos
- Inicio y activación del servicio MongoDB
- Conectándose a MongoDB y ejecutando algunos comandos de prueba
- Desinstalar MongoDB Community Edition
1. Asegurarse de que el servidor esté actualizado
Antes de continuar, asegurémonos de que nuestros repositorios y paquetes de servicio estén en las últimas versiones actualizándolos con este comando:
sudo dnf -y update
2. Instalando Mongodb
MongoDB no está disponible en los repositorios predeterminados de Fedora 34/35. Para esta instalación, descargaremos el .rpm
archivos directamente desde el repositorio de MongoDB. Las descargas están organizadas por versión de Red Hat/CentOS (por ejemplo, 8
), luego versión de lanzamiento de MongoDB (por ejemplo, 5.0
), luego arquitectura (por ejemplo, x86_64
).
Descarguemos el servidor MongoDB usando este comando:
curl -LO https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/5.0/x86_64/RPMS/mongodb-org-server-5.0.3-1.el8.x86_64.rpm
Luego instale con dnf:
sudo dnf install -y ./mongodb-org-server-5.0.3-1.el8.x86_64.rpm
Instalemos también el shell de MongoDB e instalemos usando estos comandos:
curl -LO https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/5.0/x86_64/RPMS/mongodb-org-shell-5.0.3-1.el8.x86_64.rpm
Luego instale:
sudo dnf install -y ./mongodb-org-shell-5.0.3-1.el8.x86_64.rpm
Finalmente, descarguemos e instalemos Mongosh.
curl -LO https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/5.0/x86_64/RPMS/mongodb-mongosh-1.1.1.el8.x86_64.rpm
Luego instale
sudo dnf install -y ./mongodb-mongosh-1.1.1.el8.x86_64.rpm
Puede verificar la versión de MongoDB instalada usando el siguiente comando:
$ mongo -version
MongoDB shell version v5.0.3
Build Info: {
"version": "5.0.3",
"gitVersion": "657fea5a61a74d7a79df7aff8e4bcf0bc742b748",
"openSSLVersion": "OpenSSL 1.1.1l FIPS 24 Aug 2021",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel80",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
También podemos comprobar la versión del Mongosh:
$ mongosh -version
1.1.1
3. Permitir puerto MongoDB en el cortafuegos
Si tienes un firewalld
activo servicio en su servidor y desea que el servicio MongoDB sea accesible a través de la red, permita el puerto 27017/tcp
:
sudo firewall-cmd --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
También puede limitar el acceso según la dirección de origen
sudo firewall-cmd --permanent --add-rich-rule "rule family="ipv4" \
source address="10.1.0.0/16" port protocol="tcp" port="27017" accept
4. Iniciar y habilitar el servicio MongoDB
Una vez instalado el servicio, no se iniciará por defecto. Inicie el servicio mongodb usando este comando:
sudo systemctl start mongod
Confirme que el servicio está en funcionamiento comprobando su estado:
$ sudo systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2021-11-03 14:31:03 UTC; 21min ago
Docs: https://docs.mongodb.org/manual
Main PID: 74348 (mongod)
Memory: 61.5M
CPU: 4.278s
CGroup: /system.slice/mongod.service
└─74348 /usr/bin/mongod -f /etc/mongod.conf
Nov 03 14:31:02 new-cloud systemd[1]: Starting MongoDB Database Server...
Nov 03 14:31:02 new-cloud mongod[74346]: about to fork child process, waiting until server is ready for connections.
Nov 03 14:31:02 new-cloud mongod[74348]: forked process: 74348
Nov 03 14:31:03 new-cloud mongod[74346]: child process started successfully, parent exiting
Nov 03 14:31:03 new-cloud systemd[1]: Started MongoDB Database Server.
Nuestro servicio mongodb está en funcionamiento. Permítanos habilitarlo para que comience en el arranque usando este comando:
sudo systemctl enable mongod
5. Conexión a Mongodb y ejecución de algunos comandos de prueba
Use el comando mongo para conectarse al shell mongo.
$ mongo --port 27017
MongoDB shell version v5.0.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("3c093393-8154-44d4-97b5-7b02ddebd7bd") }
MongoDB server version: 5.0.3
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
We recommend you begin using "mongosh".
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
---
The server generated these startup warnings when booting:
2021-11-03T14:31:02.695+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2021-11-03T14:31:03.626+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> db.version()
5.0.3
Ejecutemos algunos comandos de prueba para confirmar su correcto funcionamiento:
> use citizix_db;
switched to db citizix_db
> db.users.save({
... name: "etowett",
... location: "Arctic Vault"
... });
WriteResult({ "nInserted" : 1 })
>
> db.users.find();
{ "_id" : ObjectId("6182a27289aefc6a3f30d05a"), "name" : "etowett", "location" : "Arctic Vault" }
6. Desinstalar MongoDB Community Edition
Para eliminar completamente MongoDB de un sistema, debe eliminar las aplicaciones de MongoDB, los archivos de configuración y cualquier directorio que contenga datos y registros.
Este proceso completamente eliminar MongoDB, su configuración y todas bases de datos Este proceso no es reversible, así que asegúrese de hacer una copia de seguridad de toda su configuración y datos antes de continuar.
La siguiente sección lo guía a través de los pasos necesarios.
Detener MongoDB
Detener el mongod
proceso emitiendo el siguiente comando:
sudo service mongod stop
Eliminar paquetes.
Elimine cualquier paquete de MongoDB que haya instalado previamente.
sudo zypper remove $(rpm -qa | grep mongodb-org)
Eliminar directorios de datos.
Elimine las bases de datos y los archivos de registro de MongoDB.
sudo rm -r /var/log/mongodbsudo rm -r /var/lib/mongo
Conclusión
En esta guía, logramos instalar y realizar algunas operaciones básicas con MongoDB en nuestro servidor Fedora 34/35.