Insertar documentos con Pymongo

04/Jun/2016 Python , Deja un comentario

En este ejemplo vamos a ver qué pasos son necesarios para poder insertar un documento en MongoDB mediante Pymongo. Para insertar documentos con Pymongo lo primero que tendremos que hacer es importar la librería.

  1. from pymongo import MongoClient

En concreto el objeto MongoClient que es el que nos permitirá acceder a la base de datos de MongoDB.

Mediante el clientes deberemos de seleccionar la base de datos y colección en la que vayamos a insertar documentos con pymongo.

db = client.test
users = db.users

En este caso hemos utilizado la base de datos test y la colección users. Vemos que la notación de Pymongo es la misma que si estuviésemos escribiendo en la consola de MongoDB.

Incluso podríamos haberlo acotado escribiendo.

  1. users = client.test.users

Ahora vamos a preparar el documento JSON que vamos a insertar. El documento lo definimos directamente.

  1. user = {
  2. 'nombre': 'Víctor',
  3. 'edad': 38,
  4. 'localidad': 'Avila'
  5. }

Lo único que tienes que tener cuidado es que las propiedades del documento las pongan con comillas simples.

Ahora pasamos a insertar el documento, para ello nos apoyamos en el método .insert_one(), el cual recibirá como parámetro el documento que habíamos definido.

  1. esultado = users.insert_one(user)

Vemos que dejamos el resultado en la variable resultado. El método insert_one() devuelve un objeto InsertOneResult el cual contiene un atributo llamado inserted_id que es el identificador del objeto insertado.

Así que podemos mostrar dicho identificador para dar validez a la operación de inserción.

  1. print 'Objeto instertado ' + str(resultado.inserted_id)

Es id corresponde con el ObjectId del objeto insertado en la base de datos de MongoDB.

Sencillos pasos que nos permiten insertar documentos con Pymongo.

Vídeos sobre Python


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*