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.
MongoDB se creó para las personas que crean aplicaciones comerciales y de Internet que necesitan evolucionar rápidamente y escalar con elegancia. Empresas y equipos de desarrollo de todos los tamaños utilizan MongoDB por una amplia variedad de razones.
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 ejecutar Mongodb con Docker y Docker-Compose
- Cómo configurar la autenticación en Mongodb
- Cómo instalar Mongodb 5 en Rocky Linux/Centos 8
- Cómo instalar Mongodb 5 en Fedora 34/35
Requisitos
Para seguir, asegúrese de tener lo siguiente:
- Un servidor OpenSUSE Leap 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
- Iniciando y habilitando el servicio MongoDB
- Conectarse a Mongodb y ejecutar 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 servidor estén en las últimas versiones actualizando usando este comando:
sudo zypper ref
sudo zypper up -y
2. Instalación de MongoDB Community Edition
Los repositorios de Mongodb no están disponibles en los repositorios de OpenSUSE Leap de forma predeterminada. Para agregar el repositorio, haga lo siguiente:
Importa la clave pública de MongoDB.
sudo rpm --import https://www.mongodb.org/static/pgp/server-5.0.asc
Agregue el repositorio para que pueda instalar MongoDB.
sudo zypper addrepo --gpgcheck "https://repo.mongodb.org/zypper/suse/15/mongodb-org/5.0/x86_64/" mongodb
Para instalar la última versión de MongoDB, emita el siguiente comando:
sudo zypper -n install mongodb-org
Para instalar una versión específica de MongoDB, especifique cada paquete de componentes individualmente y agregue el número de versión al nombre del paquete, como en el siguiente ejemplo:
sudo zypper install mongodb-org-5.0.2 mongodb-org-database-5.0.2 mongodb-org-server-5.0.2 mongodb-org-shell-5.0.2 mongodb-org-mongos-5.0.2 mongodb-org-tools-5.0.2
Puede especificar cualquier versión disponible de MongoDB. Sin embargo, zypper
actualiza los paquetes cuando una versión más nueva está disponible. Para evitar actualizaciones no deseadas, fije los paquetes ejecutando el siguiente comando:
sudo zypper addlock mongodb-org-5.0.2 mongodb-org-database-5.0.2 mongodb-org-server-5.0.2 mongodb-org-shell-5.0.2 mongodb-org-mongos-5.0.2 mongodb-org-tools-5.0.2
Las versiones anteriores de los paquetes de MongoDB utilizan una ubicación de repositorio diferente. Consulte la versión de la documentación adecuada para su versión de MongoDB.
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.1d 10 Sep 2019",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "suse15",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
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 Thu 2021-11-04 15:19:22 UTC; 6s ago
Docs: https://docs.mongodb.org/manual
Process: 7088 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 7090 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 7091 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 7092 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 7107 (mongod)
CGroup: /system.slice/mongod.service
└─7107 /usr/bin/mongod -f /etc/mongod.conf
Nov 04 15:19:21 ip-10-2-40-60 systemd[1]: Starting MongoDB Database Server...
Nov 04 15:19:21 ip-10-2-40-60 mongod[7092]: about to fork child process, waiting until server is ready for connections.
Nov 04 15:19:21 ip-10-2-40-60 mongod[7107]: forked process: 7107
Nov 04 15:19:22 ip-10-2-40-60 mongod[7092]: child process started successfully, parent exiting
Nov 04 15:19:22 ip-10-2-40-60 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("5d73c2e5-bedc-4f87-b1e3-6413336f3848") }
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-04T15:19:22.512+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
2021-11-04T15:19:22.512+00:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
---
---
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("6183fa50c4eb614f02efac0b"), "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 OpenSUSE Leap