Principal >
Biblioteca >
Manuales > Conectar Python con MongoDB (Linux)
Conectar Python con MongoDB (Linux)
Requisitos para iniciar:
- Python instalado (versión 3.x recomendada).
- MongoDB instalado y correiendo.
Abrimos una terminal y nos cambiamos a usuario "root":
> sudo su root
Verificamos si tenemos instalado Python y la versión con el comando:
> python3 --version
Luego verificamos si está corriendo MongoDB:
> systemctl status mongod
Deben de salir varios textos en pantalla incluyendo el siguiente mensaje (en color verde):
active (running)
(hacer click para hacer mas grande):
Por default MongoDB utiliza el puerto "27017" para recibir conexiones, y para verificar esto utilizamos el comando "nmap" para revisar todos los puertos de nuestra computadora (se requiere tener instalado "nmap"):
> nmap -p 1-65535 localhost
(hacer click para hacer mas grande):
Si no está abierto este puerto, MongoDB no podrá recibir conexiones externas, en este caso de nuestro programa en Python.
Para conectar Python con Mongo utilizaremos la biblioteca "pymongo" y su sitio oficial es:
https://pypi.org/project/pymongo/
Para instalar "pymongo", primero instalamos "pip3" (sólo si no lo teníamos instalado):
> apt-get install python3-pip
Para instalar "pymongo":
> pip3 install pymongo
Ahora vamos a crear un programa "python_mongo.py" para conectar Python con MongoDB, crear una base, una colección e insertar un registro, para lo cual primero creamos el archivo con el editor "nano" (se puede utilizar cualquier editor de texto):
> nano python_mongo.py
Ya adentro del editor vamos a ir insertando código para ir creando nuestro programa y primero cargamos la librería para conectar Python con MongoDB agregando la primer línea:
import pymongo
Luego importamos un cliente de MongoDB de la librería:
from pymongo import MongoClient
Creamos un cliente de MongoDB:
cliente = MongoClient()
Existen otras formas de conectarse como por ejemplo conectarse usando parámetros:
cliente = MongoClient('localhost', 27017)
Otra forma es usando el formato de MongoDB:
cliente = MongoClient('mongodb://localhost:27017')
Nota: Para estas formas de conectarse se considera que MongoDB está corriendo en nuestra computadora (localhost) y que utiliza el puerto por default asignado (27017) y que no ha sido cambiado.
Ahora accesamos a la base de datos: agenda
db = cliente['agenda']
Creamos e insertamos datos en la colección: clientes
coleccion = db['clientes']
Nota: En MongoDB, tanto las "base de datos" como las "colecciones" no se crean de manera física hasta que se le agreguen datos.
Definimos un registro a insertar:
registro = { "nombre": "Juan", "telefono": "4431245789"}
Insertamos el registro en nuestra colección:
operacion = coleccion.insert_one(registro)
Si deseamos ver si quedó grabado el registro, podemos hacer un ciclo e imprimir nuestra colección:
for x in coleccion.find():
print(x)
Guardamos nuestro programa como CTRL+X, le damos "Si" y queda guardado en nuestro directorio donde estamos trabajando. El código completo sería el siguiente:
(hacer click para hacer mas grande):
Para saber la ubicación de donde MongoDB guarda la información tecleamos en la consola:
grep dbPath /etc/mongod.conf
Y aparece en pantalla la ruta:
dbPath: /var/lib/mongodb
Por último ejecutamos el programa en nuestra terminal:
> python3 python_mongo.py
Y observaremos en pantalla lo siguiente:
(hacer click para hacer mas grande):
Principal >
Biblioteca >
Manuales > Conectar Python con MongoDB (Linux)
Portal de Tecnología desarrollado por: Rogelio Ferreira Escutia