como-instalar-mongodb-en-raspberry-pi

Cómo Instalar MongoDB en Raspberry Pi

MongoDB es una base de datos NoSQL orientada a documentos que almacena datos en formato BSON (Binary JSON). Esto permite una gran flexibilidad en el diseño de los esquemas de datos, a diferencia de las bases de datos relacionales tradicionales.

Algunas de las características clave de MongoDB incluyen:

  • Escalabilidad Horizontal: Permite escalar fácilmente al agregar más nodos a un clúster.
  • Esquema Dinámico: No requiere un esquema fijo para los datos, permitiendo que cada documento en una colección tenga una estructura diferente.
  • Consultas Ad-Hoc: Soporta consultas complejas y agregaciones de datos.
  • Alta Disponibilidad: A través de réplicas y configuraciones de clúster, MongoDB ofrece alta disponibilidad y tolerancia a fallos.

Estas características hacen que MongoDB sea una excelente opción para aplicaciones modernas que manejan grandes volúmenes de datos no estructurados o semi-estructurados.

Cómo Instalar MongoDB en Raspberry Pi

Configurar el repositorio

Primero, nos aseguramos de que nuestra Raspberry Pi esté actualizada. Ejecutamos los siguientes comandos para actualizar los paquetes y el sistema operativo:

sudo apt update
sudo apt upgrade

A continuación, para instalar MongoDB, que no está incluido en los repositorios estándar de Raspberry Pi OS, necesitamos agregar el repositorio adecuado.

# Instalamos las dependencias necesaria
sudo apt install -y gnupg

# Descargamos e instalamos la clave pública del repositorio de MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

# Creamos un archivo de lista para MongoDB
echo "deb [arch=armhf] http://repo.mongodb.org/apt/debian buster 10gen" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

Nota: La versión 5.0 es una de las versiones compatibles con Raspberry Pi. Puedes ajustar según la versión deseada

Instalar MongoDB

Una vez que hemos agregado el repositorio, instalamos MongoDB con los siguientes pasos:

Primero, actualizamos la lista de paquetes con el siguiente comando:

sudo apt update

Luego, procedemos a instalar MongoDB ejecutando:

sudo apt install -y mongodb

Después de completar la instalación, necesitamos configurar y habilitar MongoDB para que se ejecute como un servicio.

Iniciamos el servicio de MongoDB con:

# Ensure mongod config is picked up
sudo systemctl daemon-reload

# Tell systemd to run mongod on reboot
sudo systemctl enable mongod

# Start up mongod!
sudo systemctl start mongod

Finalmente, verificamos el estado del servicio para confirmar que MongoDB está funcionando correctamente con:

sudo systemctl status mongod

Deberíamos ver una salida que indique que el servicio está activo y en funcionamiento.

Usar MongoDB

Una vez instalado y en funcionamiento, puedes comenzar a usar MongoDB para gestionar tus bases de datos. Para acceder a la shell de MongoDB y empezar a interactuar con la base de datos, utiliza el siguiente comando:

mongo

En la shell de MongoDB, puedes empezar a crear bases de datos, colecciones y documentos. Aquí tienes algunos comandos básicos para empezar:

Crear una base de datos

use miBaseDeDatos

Crear una colección y insertar un documento

db.miColeccion.insertOne({ nombre: "Raspberry Pi", tipo: "Dispositivo" })

Consultar documentos

db.miColeccion.find()

Uso de MongoDB en con Python

Aquí tienes un ejemplo básico de cómo usar MongoDB en Python para insertar y consultar datos:

from pymongo import MongoClient

# Conecta a la base de datos local de MongoDB
client = MongoClient('localhost', 27017)

# Accede a la base de datos "mi_db"
db = client.mi_db

# Accede a la colección "mi_coleccion"
collection = db.mi_coleccion

# Inserta un documento
documento = {"nombre": "Raspberry Pi", "categoria": "IoT"}
inserted_id = collection.insert_one(documento).inserted_id

# Consulta todos los documentos en la colección
for documento in collection.find():
    print(documento)

Este ejemplo,

  • Conectamos con MongoDB
  • Insertamos un documento en una colección
  • Consultamos todos los documentos en esa colección.