Un documento en MongoDB es lo mismo que un registro en bases de datos SQL.
Insertar en la colección Para insertar un registro, o documento cómo se llama en MongoDB, en una colección, usamos el método insert_one(). El primer parámetro del método insert_one() es un diccionario que contiene los nombres y los valores de cada campo en el documento que desea insertar.
Ejemplo
Inserte un registro en la colección de «clientes»:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:12345/") mydb = myclient["bbdd"] mycol = mydb["clientes"] mydict = { "nombre": "Juan", "direccion": "C/ Mayor 1" } x = mycol.insert_one(mydict)
Devuelve el campo _id
El método insert_one() devuelve un objeto InsertOneResult, que tiene una propiedad, insered_id, que contiene el id del documento insertado.
Ejemplo
Inserte otro registro en la colección de «clientes» y devuelva el valor del campo _id:
mydict = { "nombre": "Carlos", "direccion": "Calle de Arriba 1" } x = mycol.insert_one(mydict) print(x.inserted_id)
Si no especifica un campo _id, MongoDB agregará uno por usted y le asignará una identificación única para cada documento.
En el ejemplo anterior, no se especificó ningún campo _id, por lo que MongoDB asignó un _id único para el registro (documento).
Insertar múltiples documentos
Para insertar varios documentos en una colección en MongoDB, usamos el método insert_many(). El primer parámetro del método insert_many() es una lista que contiene diccionarios con los datos que desea insertar:
Ejemplo
import pymongo myclient = pymongo.MongoClient( "mongodb://localhost:12345/") mydb = myclient["bbdd"] mycol = mydb["Clientes"] mylist = [ { "nombre": "Manuel", "direccion": "C/ Mayor 1"}, { "nombre": "Carlos", "direccion": "C/ Ariiba 3"}, { "nombre": "Enrique", "direccion": "C/ Mexico 2""}, { "nombre": "Antonio", "direccion": "C/ República Argentina"}, { "nombre": "Javi", "direccion": "C/ Serrano 100"}, { "nombre": "Jorge", "direccion": "C/ Diagonal 1"}, { "nombre": "David", "direccion": "C/ Mayo 3"}, { "nombre": "Ana", "direccion": "C/ Samaranch 14"} ] x = mycol.insert_many(mylist) #print lista de los valores id de los documentos insertados: print(x.inserted_ids)
El método insert_many() devuelve un objeto InsertManyResult, que tiene una propiedad, insered_ids, que contiene los identificadores de los documentos insertados.
Insertar múltiples documentos, con identificadores especificados
Si no desea que MongoDB le asigne identificadores únicos a su documento, puede especificar el campo _id cuando inserte el (los) documento (s). Recuerda que los valores tienen que ser únicos. Dos documentos no pueden tener el mismo _id.
Ejemplo
import pymongo myclient = pymongo.MongoClient( "mongodb://localhost:27017/") mydb = myclient[ "myddbb"] mycol = mydb[ "clientes"] mylist = [ { "id": 1, "nombre": "Manuel", "direccion": "C/ Mayor 1"}, { "id": 2, "nombre": "Carlos", "direccion"": "C/ Arriba 3"}, { "id": 3, "nombre": "Antonio", "direccion": "C/ Mexico 2"}, { "id": 4, "nombre": "Javi", "direccion": "C/ República Argentina 15"}, { "id": 5, "nombre": "Jorge", "direccion": "C/ Serrano 64"}, { "id": 6, "nombre": "David", "direccion": "C/ Diagonal 12"}, { "id": 7, "nombre": "Ana", "direccion": "C/ Mayo 3"}, { "id": 8, "nombre": "Enrique", "direccion": "C/ Samaranch 92"} ] x = mycol.insert_many(mylist) #print lista de los id de los archivos que se han insertado: print(x.inserted_ids)