Diferencia entre insert(), insertOne() e insertMany() en Pymongo

MongoDB es una base de datos NoSql que se puede utilizar para almacenar datos requeridos por diferentes aplicaciones. Python se puede utilizar para acceder a las bases de datos de MongoDB. Python requiere un controlador para acceder a las bases de datos. PyMongo permite interactuar con la base de datos MongoDB desde aplicaciones Python. El paquete pymongo actúa como un controlador de Python nativo para MongoDB. Pymongo proporciona comandos que se pueden usar en aplicaciones de Python para realizar la acción requerida en MongoDB. MongoDB ofrece tres métodos para insertar registros o documentos en la base de datos que son los siguientes: 

  • insert() : se utiliza para insertar un documento o documentos en una colección. Si la colección no existe, insert() creará la colección y luego insertará los documentos especificados.

Sintaxis 
db.collection.insert(<documento o conjunto de documentos>, 

writeConcern: <documento>, 
ordenado: <booleano> 

)
Parámetro 

  • <documento>: El documento o registro que se va a almacenar en la base de datos
  • escribir preocupación: opcional.
  • ordenado: Opcional. Se puede establecer en verdadero o falso. 

Ejemplo: 

Python3

# importing Mongoclient from pymongo
from pymongo import MongoClient 
   
   
myclient = MongoClient("mongodb://localhost:27017/")
   
# database 
db = myclient["GFG"]
   
# Created or Switched to collection 
# names: College
collection = db["College"]
   
mylist = [
  { "_id": 1, "name": "Vishwash", "Roll No": "1001", "Branch":"CSE"},
  { "_id": 2, "name": "Vishesh", "Roll No": "1002", "Branch":"IT"},
  { "_id": 3, "name": "Shivam", "Roll No": "1003", "Branch":"ME"},
  { "_id": 4, "name": "Yash", "Roll No": "1004", "Branch":"ECE"},
]
 
   
# Inserting the entire list in the collection
collection.insert(mylist)

Producción:

python-mongodb-insert

  • insertOne() : se utiliza para insertar un solo documento o registro en la base de datos. Si la colección no existe, entonces el método insertOne() crea la colección primero y luego inserta el documento especificado.

Sintaxis 
db.collection.insertOne(<documento>, 

writeConcern: <documento> 

)
Parámetro  

  • <documento> El documento o registro que se almacenará en la base de datos
  • escribir preocupación: opcional.

Valor de retorno: Devuelve el _id del documento insertado en la base de datos.  

Nota: El comando de Pymongo para insertOne() es insert_one() 
Ejemplo: 

Python3

# importing Mongoclient from pymongo
from pymongo import MongoClient
 
# Making Connection
myclient = MongoClient("mongodb://localhost:27017/")
 
# database
db = myclient["GFG"]
 
# Created or Switched to collection
# names: GeeksForGeeks
collection = db["Student"]
 
# Creating Dictionary of records to be
# inserted
record = { "_id": 5,
          "name": "Raju",
          "Roll No": "1005",
          "Branch": "CSE"}
 
 
 
# Inserting the record1 in the collection
# by using collection.insert_one()
rec_id1 = collection.insert_one(record)

Producción: 

  • insertarmuchos()

Sintaxis 
db.collection.insertMany([ <documento 1>, <documento 2>, … ], 

writeConcern: <documento>, 
ordenado: <booleano> 

)
Parámetro  

  • <documentos> El documento o registro que se almacenará en la base de datos.
  • escribir preocupación: opcional.
  • ordenado: Opcional. Se puede establecer en verdadero o falso.

Valor de retorno: Devuelve los _ids de los documentos insertados en la base de datos.  

Nota: El comando de Pymongo para insertMany() es insert_many() 
Ejemplo:

Python3

# importing Mongoclient from pymongo
from pymongo import MongoClient 
   
   
myclient = MongoClient("mongodb://localhost:27017/")
   
# database 
db = myclient["GFG"]
   
# Created or Switched to collection 
# names: GeeksForGeeks
collection = db["College"]
 
mylist = [
  { "_id": 6, "name": "Deepanshu", "Roll No": "1006", "Branch":"CSE"},
  { "_id": 7, "name": "Anshul", "Roll No": "1007", "Branch":"IT"}
]
   
# Inserting the entire list in the collection
collection.insert_many(mylist)

Producción:

python-mongodb-insert-many1.math-table { border-collapse: collapse; width: 100%; } .math-table td { border: 1px solid #5fb962; text-align: left !important; padding: 8px; } .math-table th { border: 1px solid #5fb962; padding: 8px; } .math-table tr>th{ background-color: #c6ebd9; vertical-align: middle; } .math-table tr:nth-child(odd) { background-color: #ffffff; }  

insertar() insertOne() insertarmuchos()
El comando equivalente de Pymongo es insert() El comando equivalente de Pymongo es insert_one() El comando equivalente de Pymongo es insert_many()
En desuso en las versiones más nuevas del motor mongo Utilizado en versiones más nuevas del motor mongo Utilizado en versiones más nuevas del motor mongo
lanza WriteResult.writeConcernError y WriteResult.writeError para errores de preocupación de escritura y no escritura respectivamente lanza una excepción writeError o writeConcernError. lanza una excepción BulkWriteError.
compatible con db.colección.explicar() no compatible con db.collection.explain() no compatible con db.collection.explain()
Si order se establece en true y algún documento informa de un error, los documentos restantes no se insertan. Si order se establece en false, los documentos restantes se insertan incluso si se produce un error. Si se informa un error para el documento, no se inserta en la base de datos. Si order se establece en true y algún documento informa de un error, los documentos restantes no se insertan. Si order se establece en false, los documentos restantes se insertan incluso si se produce un error.
devuelve un objeto que contiene el estado de la operación. devuelve el insert_id del documento insertado devuelve los insert_ids de los documentos insertados

Publicación traducida automáticamente

Artículo escrito por Shreyasi_Chakraborty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *