xumarhu.net xumarhu.net biblioteca
Principal > Biblioteca > Manuales > Conectar Python con MongoDB (Linux)

Conectar Python con MongoDB (Linux)

Requisitos para iniciar: 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
Valid CSS Valid XHTML 5