MONGO DB CON PYTHON

Clase 30 de 31Curso de Mongo DB 2018

MONGO DB CON PYTHON

Para utilizar mongo con python es necesario instalar algun conector que nos permita comunicar nuestro código con el servidor.

PyMongo

Pymongo es el driver oficial publicado por los desarrolladores de Mongo y se instala fácilmente con pip.

mongo6.JPG

Una vez instalado y con el servidor de mongo encendido(mongod), entonces es posible importar la librería:

mongo7.JPG

Y posteriormente realizar la conexión:

mongo8.JPG

Una vez que se tenga una instancia conectada de MongoClient, se puede acceder a cualquiera de las bases de datos dentro de ese servidor Mongo. Para especificar la base de datos se desea utilizar, se puede acceder como un atributo.

mongo9.JPG

Por ejemplo en este caso estaríamos accediendo a la base de datos de nombre “pymongo_test”

También es posible acceder como si fuese un diccionario:

mongo10.JPG

Inserción

Almacenar datos en la base de datos es tan fácil como el siguiente código:

mongo11.JPG

La primera línea especifica qué colección utilizará.

mongo12.JPG

La segunda parte es donde realmente se insertan los datos en la colección usando el método insert_one ():

mongo13.JPG

Podemos insertar muchos documentos a la vez, lo que es mucho más rápido que usar insert_one () si tiene muchos documentos para agregar a la base de datos. El método a utilizar aquí es insert_many (). Este método toma una matriz de datos del documento:

mongo14.JPG

Lectura

Para recuperar un documento, usaremos el método find_one (). El único argumento que usaremos aquí (aunque es compatible con muchos más) es un diccionario que contiene campos para coincidir. En nuestro ejemplo a continuación, queremos recuperar la publicación escrita por Bill:

mongo15.JPG

Esto devolverá algo parecido a lo siguiente:

mongo16.JPG

Si queremos encontrar más de un documento, podemos usar el método find(). Esta vez, encontremos todas las publicaciones escritas por Scott:

mongo17.JPG

Al imprimir podríamos obtener como resultado algo similar a esto:

mongo18.JPG

Esto es porque al ejecutar el find el resultado es un “cursor” y éste es un objeto iterable del cuál podemos extraer nuestra información iterando:

mongo19.JPG