Overview
En esta guía, aprenderá a usar el controlador de Node.js para realizar operaciones masivas. Estas operaciones ayudan a reducir el número de llamadas al servidor. En lugar de enviar una solicitud por cada operación, puede realizar varias operaciones en una sola acción.
Tip
Para obtener más información sobre las operaciones masivas, consulte Operaciones de escritura masiva en el manual del servidor MongoDB.
Puede usar operaciones masivas para realizar múltiples operaciones de escritura en una colección. También puede ejecutar operaciones masivas desde el cliente, lo que le permite realizar escrituras masivas en múltiples espacios de nombres. En MongoDB, un espacio de nombres consta del nombre de la base de datos y el nombre de la colección en el formato <database>.<collection>.
Nota
No hay límite para la cantidad de operaciones de escritura que un controlador puede gestionar. Los controladores agrupan los datos en lotes según el valor maxWriteBatchSize, que 100 es,000 y no se puede modificar. Si el lote contiene más 100 de,000 operaciones, el controlador lo divide en grupos más pequeños con recuentos menores o iguales al valor maxWriteBatchSize. Por ejemplo, si la operación 250 contiene,000 operaciones, el controlador crea tres lotes: dos 100 con,000 operaciones y uno con,50 000 operaciones.
Esta guía incluye las siguientes secciones:
Operaciones de inserción masiva describe cómo realizar operaciones de inserción masiva en su colección o cliente.
Operaciones de reemplazo masivo describe cómo realizar operaciones de reemplazo masivo en su colección o cliente.
Operaciones de actualización masiva describe cómo realizar operaciones de actualización masiva en su colección o cliente.
Operaciones de eliminación masiva describe cómo realizar operaciones de eliminación masiva en su colección o cliente.
Eltipo de retorno describe el objeto de retorno que resulta de sus operaciones de escritura masiva.
Manejo de excepciones describe las excepciones que ocurren si alguna de las operaciones en una operación de escritura masiva falla.
Información adicional proporciona enlaces a recursos y documentación de API para los tipos y métodos mencionados en esta guía.
Importante
Requisitos de versión del servidor y del controlador
Las operaciones de escritura masiva a nivel de colección requieren las siguientes versiones:
Versión del servidor MongoDB 3.2 o posterior
Versión del controlador Node.js 3.6 o posterior
Las operaciones de escritura masiva a nivel de cliente requieren las siguientes versiones:
Versión del servidor MongoDB 8.0 o posterior
Versión del controlador Node.js 6.10 o posterior
Datos de muestra
Los ejemplos de esta guía utilizan las movies users colecciones y de la sample_mflix base de datos, incluida en los conjuntos de datos de ejemplo de Atlas. Para aprender a crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de ejemplo, consulte la guía de introducción a MongoDB.
Operaciones de inserción masiva
Para realizar una operación de inserción masiva, cree un modelo de operación masiva para cada documento que desee insertar. A continuación, pase una lista de estos modelos al método bulkWrite().
En esta sección se describe cómo realizar los siguientes tipos de operaciones masivas:
Inserciones a granel de colección
Para realizar una operación de inserción masiva en su colección, cree un InsertOneModel para cada operación. Luego, llame al método bulkWrite() en su colección y pase una matriz de modelos como parámetro. Para crear un InsertOneModel, especifique el campo document del modelo y asígnele el documento que desea insertar.
Ejemplo
Este ejemplo realiza las siguientes acciones:
Especifica dos instancias
InsertOneModelen una matriz. CadaInsertOneModelrepresenta un documento que se insertará en la colecciónmoviesde la base de datossample_mflix.Llama al método
bulkWrite()en la colecciónmoviesy pasa una matriz de modelos como parámetro.Imprime el número de documentos insertados.
const insertModels = [{ insertOne: { document: { title: "The Favourite", year: 2018, rated: "R", released: "2018-12-21" } } }, { insertOne: { document: { title: "I, Tonya", year: 2017, rated: "R", released: "2017-12-08" } } }]; const insertResult = await movies.bulkWrite(insertModels); console.log(`Inserted documents: ${insertResult.insertedCount}`);
Inserted documents: 2
Inserciones masivas de clientes
Para realizar una operación de inserción masiva en varias colecciones o bases de datos, cree un ClientBulkWriteModel para cada operación. Luego, llama al método bulkWrite() en tu cliente y pasa un arreglo de modelos como parámetro.
La siguiente tabla describe los campos que puede configurar en un ClientBulkWriteModel para especificar una operación de inserción:
Campo | Descripción |
|---|---|
| The namespace in which to insert a document. Type: String |
| The operation you want to perform. For insert operations,
set this field to "insertOne".Type: String |
| The document to insert. Type: Document |
Ejemplo
Este ejemplo realiza las siguientes acciones:
Especifica tres instancias
ClientBulkWriteModelen una matriz. Los dos primeros modelos representan documentos que se insertarán en la colecciónmoviesy el último modelo representa un documento que se insertará en la colecciónusers.Llama al método
bulkWrite()en un cliente y pasa una matriz de modelos como parámetro.Imprime el número de documentos insertados.
const clientInserts = [{ namespace: "sample_mflix.movies", name: "insertOne", document: { title: "The Favourite", year: 2018, rated: "R", released: "2018-12-21" } }, { namespace: "sample_mflix.movies", name: "insertOne", document: { title: "I, Tonya", year: 2017, rated: "R", released: "2017-12-08" } }, { namespace: "sample_mflix.users", name: "insertOne", document: { name: "Brian Schwartz", email: "bschwartz@example.com" } }]; const clientInsertRes = await client.bulkWrite(clientInserts); console.log(`Inserted documents: ${clientInsertRes.insertedCount}`);
Inserted documents: 3
Operaciones de reemplazo masivo
Para realizar una operación de reemplazo masivo, cree un modelo de operación masiva para cada documento que desee reemplazar. Luego, pase una lista de estos modelos al método bulkWrite().
En esta sección se describe cómo realizar los siguientes tipos de operaciones masivas:
Reemplazos a granel de la colección
Para realizar un reemplazo masivo en su colección, cree un ReplaceOneModel para cada operación. Luego, llame al método bulkWrite() en su colección y pase un array de modelos como parámetro.
La siguiente tabla describe los campos que puedes configurar en un ReplaceOneModel:
Campo | Descripción |
|---|---|
| The filter that matches the document you want to replace. Type: Document |
| The replacement document. Type: Document |
| (Optional) The collation to use when sorting results. To learn more
about collations, see the Collation section of the Configure CRUD Operations guide. Type: String or Object |
| (Optional) The index to use for the operation. To learn more about
indexes, see the Indexes for Query Optimization guide. Type: Bson |
| (Optional) Whether a new document is created if no document matches the filter. By default, this field is set to false.Type: Boolean |
Ejemplo
Este ejemplo realiza las siguientes acciones:
Especifica dos instancias
ReplaceOneModelen una matriz. Las instanciasReplaceOneModelcontienen instrucciones para reemplazar documentos que representan películas en la colecciónmovies.Llama al método
bulkWrite()en la colecciónmoviesy pasa una matriz de modelos como parámetro.Imprime el número de documentos modificados.
const replaceOperations = [{ replaceOne: { filter: { title: "The Dark Knight" }, replacement: { title: "The Dark Knight Rises", year: 2012, rating: "PG-13" }, upsert: false } }, { replaceOne: { filter: { title: "Inception" }, replacement: { title: "Inception Reloaded", year: 2010, rating: "PG-13" }, upsert: false } }]; const replaceResult = await movies.bulkWrite(replaceOperations); console.log(`Modified documents: ${replaceResult.modifiedCount}`);
Modified documents: 2
Reemplazos masivos de clientes
Para realizar una operación de reemplazo masivo en varias colecciones o bases de datos, cree un ClientBulkWriteModel para cada operación. Luego, llame al método bulkWrite() en su cliente y pase una matriz de modelos como parámetro.
La siguiente tabla describe los campos que puede configurar en un ClientBulkWriteModel para especificar una operación de reemplazo:
Campo | Descripción |
|---|---|
| The namespace in which to replace a document. Type: String |
| The operation you want to perform. For replace operations,
set this field to "replaceOne".Type: String |
| The filter that matches the document you want to replace. Type: Document |
| The replacement document. Type: Document |
| (Optional) The collation to use when sorting results. To learn more
about collations, see the Collation section of the Configure CRUD Operations guide. Type: String or Object |
| (Optional) The index to use for the operation. To learn more about
indexes, see the Indexes for Query Optimization guide. Type: Bson |
Ejemplo
Este ejemplo realiza las siguientes acciones:
Especifica tres instancias
ClientBulkWriteModelen una matriz. Los dos primeros modelos contienen instrucciones de reemplazo para documentos de la colecciónmovies, y el último modelo contiene instrucciones de reemplazo para un documento de la colecciónusers.Llama al método
bulkWrite()en un cliente y pasa una matriz de modelos como parámetro.Imprime el número de documentos modificados.
const clientReplacements = [{ namespace: "sample_mflix.movies", name: "replaceOne", filter: { title: "The Dark Knight" }, replacement: { title: "The Dark Knight Rises", year: 2012, rating: "PG-13" } }, { namespace: "sample_mflix.movies", name: "replaceOne", filter: { title: "Inception" }, replacement: { title: "Inception Reloaded", year: 2010, rating: "PG-13" } }, { namespace: "sample_mflix.users", name: "replaceOne", filter: { name: "April Cole" }, replacement: { name: "April Franklin", email: "aprilfrank@example.com" } }]; const clientReplaceRes = await client.bulkWrite(clientReplacements); console.log(`Modified documents: ${clientReplaceRes.modifiedCount}`);
Modified documents: 3
Operaciones de actualización masiva
Para realizar una actualización masiva, cree un modelo de operación masiva para cada actualización que desee realizar. Luego, pase una lista de estos modelos al método bulkWrite().
En esta sección se describe cómo realizar los siguientes tipos de operaciones masivas:
Actualizaciones masivas de colecciones
Para realizar una actualización masiva en su colección, cree un UpdateOneModel o un UpdateManyModel para cada operación. Luego, llame al método bulkWrite() en su colección y pase un array de modelos como parámetro. Un UpdateOneModel actualiza solo un documento que coincide con un filtro, mientras que un UpdateManyModel actualiza todos los documentos que coinciden con un filtro.
La siguiente tabla describe los campos que puedes configurar en UpdateOneModel o UpdateManyModel:
Campo | Descripción |
|---|---|
| The filter that matches one or more documents you want to update. When
specified in an UpdateOneModel, only the first matching document will
be updated. When specified in an UpdateManyModel, all matching documents
will be updated.Type: Document |
| The update to perform. Type: Document |
| (Optional) A set of filters specifying which array elements an update
applies to if you are updating an array-valued field. Type: Array |
| (Optional) The collation to use when sorting results. To learn more about
collations, see the Collation section of the Configure CRUD Operations guide. Type: Object |
| (Optional) The index to use for the operation. To learn more about
indexes, see the Indexes for Query Optimization guide. Type: String or Object |
| (Optional) Whether a new document is created if no document matches the filter.
By default, this field is set to false.Type: Boolean |
Ejemplo
Este ejemplo realiza las siguientes acciones:
Especifica una instancia
UpdateOneModely unaUpdateManyModelen una matriz. Estos modelos contienen instrucciones para actualizar los documentos que representan películas en la colecciónmovies.Llama al método
bulkWrite()en la colecciónmoviesy pasa una matriz de modelos como parámetro.Imprime el número de documentos modificados.
const updateOperations = [{ updateOne: { filter: { title: "Interstellar" }, update: { $set: { title: "Interstellar Updated", genre: "Sci-Fi Adventure" } }, upsert: true } }, { updateMany: { filter: { rated: "PG-13" }, update: { $set: { rated: "PG-13 Updated", genre: "Updated Genre" } } } }]; const updateResult = await movies.bulkWrite(updateOperations); console.log(`Modified documents: ${updateResult.modifiedCount}`);
Modified documents: 2320
Actualizaciones masivas de clientes
Para realizar una actualización masiva en varias colecciones o bases de datos, cree un ClientBulkWriteModel para cada operación. A continuación, llame al método bulkWrite() en su cliente y pase una matriz de modelos como parámetro.
La siguiente tabla describe los campos que puede configurar en un ClientBulkWriteModel para especificar una operación de actualización:
Campo | Descripción |
|---|---|
| The namespace in which to update a document. Type: String |
| The operation you want to perform. For update operations,
set this field to "updateOne" or "updateMany".Type: String |
| The filter that matches one or more documents you want to update. If
you set the model name to "updateOne", only the first matching
document is updated. If you set name to "updateMany", all
matching documents are updated.Type: Document |
| The updates to perform. Type: Document or Document[] |
| (Optional) A set of filters specifying which array elements an update
applies to if you are updating an array-valued field. Type: Document[] |
| (Optional) The collation to use when sorting results. To learn more about
collations, see the Collation section of the Configure CRUD Operations guide. Type: Document |
| (Optional) The index to use for the operation. To learn more about
indexes, see the Indexes for Query Optimization guide. Type: Document or String |
| (Optional) Whether a new document is created if no document matches the filter.
By default, this field is set to false.Type: Boolean |
Ejemplo
Este ejemplo realiza las siguientes acciones:
Especifica dos instancias
ClientBulkWriteModelen una matriz. El primer modelo especifica una operación de actualización múltiple en la colecciónmovies, y el segundo modelo especifica una operación de actualización única en la colecciónusers.Llama al método
bulkWrite()en un cliente y pasa una matriz de modelos como parámetro.Imprime el número de documentos modificados.
const clientUpdates = [{ namespace: "sample_mflix.movies", name: "updateMany", filter: { rated: "PG-13" }, update: { $set: { rated: "PG-13 Updated", genre: "Updated Genre" } }, upsert: false }, { namespace: "sample_mflix.users", name: "updateOne", filter: { name: "Jon Snow" }, update: { $set: { name: "Aegon Targaryen", email: "targaryen@example.com" } }, upsert: false }]; const clientUpdateRes = await client.bulkWrite(clientUpdates); console.log(`Modified documents: ${clientUpdateRes.modifiedCount}`);
Modified documents: 2320
Operaciones de eliminación masiva
Para realizar una operación de eliminación masiva, cree un modelo de operación masiva para cada operación de eliminación. A continuación, pase una lista de estos modelos al método bulkWrite().
En esta sección se describe cómo realizar los siguientes tipos de operaciones masivas:
Eliminaciones masivas de colecciones
Para realizar una operación de eliminación masiva en su colección, cree un DeleteOneModel o un DeleteManyModel para cada operación. Luego, llame al método bulkWrite() en su colección y pase un array de modelos como parámetro. Un DeleteOneModel elimina solo un documento que coincide con un filtro, mientras que un DeleteManyModel elimina todos los documentos que coinciden con un filtro.
La siguiente tabla describe los campos que puedes configurar en DeleteOneModel o DeleteManyModel:
Campo | Descripción |
|---|---|
| The filter that matches one or more documents you want to delete. When
specified in a DeleteOneModel, only the first matching document will
be deleted. When specified in a DeleteManyModel, all matching documents
will be deleted.Type: Document |
| (Optional) The collation to use when sorting results. To learn more about
collations, see the Collation section of the Configure CRUD Operations guide. Type: Object |
| (Optional) The index to use for the operation. To learn more about
indexes, see the Indexes for Query Optimization guide. Type: String or Object |
Ejemplo
Este ejemplo realiza las siguientes acciones:
Especifica una instancia
DeleteOneModely unaDeleteManyModelen una matriz. Estos modelos contienen instrucciones para eliminar documentos de la colecciónmovies.Llama al método
bulkWrite()en la colecciónmoviesy pasa una matriz de modelos como parámetro.Imprime el número de documentos eliminados.
const deleteOperations = [{ deleteOne: { filter: { title: "Dunkirk" } } }, { deleteMany: { filter: { rated: "R" } } }]; const deleteResult = await movies.bulkWrite(deleteOperations); console.log(`Deleted documents: ${deleteResult.deletedCount}`);
Deleted documents: 5538
Eliminaciones masivas de clientes
Para realizar una operación de eliminación masiva en varias colecciones o bases de datos, cree un ClientBulkWriteModel para cada operación. Luego, llame al método bulkWrite() en su cliente y pase una matriz de modelos como parámetro.
La siguiente tabla describe los campos que puede configurar en un ClientBulkWriteModel para especificar una operación de eliminación:
Campo | Descripción |
|---|---|
| The namespace in which to delete a document. Type: String |
| The operation you want to perform. For delete operations,
set this field to "deleteOne" or "deleteMany".Type: String |
| The filter that matches one or more documents you want to delete. If
you set the model name to "deleteOne", only the first matching
document is deleted. If you set name to "deleteMany", all
matching documents are deleted.Type: Document |
| (Optional) The index to use for the operation. To learn more about
indexes, see the Indexes for Query Optimization guide. Type: Document or String |
| (Optional) The collation to use when sorting results. To learn more about
collations, see the Collation section of the Configure CRUD Operations guide. Type: Document |
Ejemplo
Este ejemplo realiza las siguientes acciones:
Especifica dos instancias
ClientBulkWriteModelen una matriz. El primer modelo especifica una operación de eliminación múltiple en la colecciónmovies, y el segundo modelo especifica una operación de eliminación única en la colecciónusers.Llama al método
bulkWrite()en un cliente y pasa una matriz de modelos como parámetro.Imprime el número de documentos modificados.
const clientDeletes = [{ namespace: "sample_mflix.movies", name: "deleteMany", filter: { rated: "R" } }, { namespace: "sample_mflix.users", name: "deleteOne", filter: { email: "emilia_clarke@gameofthron.es" } }]; const clientDeleteRes = await client.bulkWrite(clientDeletes); console.log(`Deleted documents: ${clientDeleteRes.deletedCount}`);
Deleted documents: 5538
Tipo de retorno
BulkWriteResult
El método Collection.bulkWrite() devuelve un objeto BulkWriteResult, que proporciona información sobre su operación masiva.
Las siguientes tablas describen los campos de un objeto BulkWriteResult:
Campo | Descripción |
|---|---|
| El número de documentos insertados |
| El número de documentos coincidentes |
| El número de documentos actualizados |
| El número de documentos insertados |
| La cantidad de documentos borrados |
Resultado de escritura masiva del cliente
El método MongoClient.bulkWrite() devuelve un objeto ClientBulkWriteResult, que incluye información sobre la operación de escritura masiva del cliente.
Las siguientes tablas describen los campos de un objeto ClientBulkWriteResult:
Campo | Descripción |
|---|---|
| Un valor booleano que indica si se reconoció la escritura masiva |
| El número de documentos insertados |
| El número de documentos coincidentes |
| El número de documentos actualizados |
| El número de documentos insertados |
| La cantidad de documentos borrados |
| Los resultados de cada operación de inserción individual exitosa |
| Los resultados de cada operación de actualización individual exitosa |
| Los resultados de cada operación de borrado individual exitosa |
Manejo de excepciones
Excepciones de escritura masiva en la colección
Si alguna operación de escritura masiva realizada en una colección no se ejecuta correctamente, el controlador de Node.js genera un MongoBulkWriteError y no realiza ninguna operación adicional si la opción ordered está establecida en true. Si la opción ordered está establecida en false, intentará continuar con las operaciones posteriores.
Tip
Para obtener más información sobre operaciones masivas ordenadas y no ordenadas, consulte la sección Operaciones ordenadas vs. no ordenadas en la guía Escritura masiva del manual de MongoDB Server.
Un objeto MongoBulkWriteError contiene las siguientes propiedades:
Propiedad | Descripción |
|---|---|
| The error message. Type: String |
| An array of errors that occurred during the bulk write operation. Type: BulkWriteError[] |
| Write concern errors that occurred during execution of the bulk write operation. Type: WriteConnectionError[] |
| The results of any successful operations performed before the exception was
thrown. Type: BulkWriteResult[] |
| The underlying error object, which may contain more details. Type: Error |
Excepciones de escritura masiva del cliente
Si alguna operación de escritura masiva realizada en su cliente no se ejecuta correctamente, el controlador de Node.js genera un MongoClientBulkWriteError. De forma predeterminada, el controlador no realiza ninguna operación posterior tras detectar un error. Si pasa la opción ordered al método bulkWrite() y la establece en false, el controlador continúa intentando las operaciones restantes.
Un objeto MongoClientBulkWriteError contiene las siguientes propiedades:
Propiedad | Descripción |
|---|---|
| An array of documents specifying each write concern error. Type: Document[] |
| An map of errors that occurred during individual write operations. Type: Map<number, ClientBulkWriteError> |
| The partial result of the client bulk write that reflects the operation's
progress before the error. Type: ClientBulkWriteResult |
Ejemplo de bulkWrite(): Archivo completo
Nota
Configuración de ejemplo
Este ejemplo se conecta a una instancia de MongoDB con un URI de conexión. Para obtener más información sobre cómo realizar la conexión a la instancia de MongoDB, se debe consultar la guía Conexión a MongoDB. Este ejemplo también usa la colección movies en la base de datos sample_mflix incluida en los conjuntos de datos de muestra de Atlas. Se pueden cargar en la base de datos en el nivel gratuito de MongoDB Atlas siguiendo la guía de Introducción a MongoDB.
El siguiente código es un archivo completo e independiente que realiza una operación de escritura masiva en la colección theaters de la base de datos sample_mflix. El parámetro operations incluye ejemplos de operaciones de escritura insertOne, updateMany y deleteOne:
1 // Bulk write operation 2 3 // Import MongoClient from the MongoDB node driver package 4 const { MongoClient } = require("mongodb"); 5 6 // Replace the uri string with your MongoDB deployment's connection string 7 const uri = "<connection string uri>"; 8 9 const client = new MongoClient(uri); 10 11 async function run() { 12 try { 13 const database = client.db("sample_mflix"); 14 const theaters = database.collection("theaters"); 15 16 // Insert a new document into the "theaters" collection 17 const result = await theaters.bulkWrite([ 18 { 19 insertOne: { 20 document: { 21 location: { 22 address: { 23 street1: "3 Main St.", 24 city: "Anchorage", 25 state: "AK", 26 zipcode: "99501", 27 }, 28 }, 29 }, 30 }, 31 }, 32 { 33 insertOne: { 34 document: { 35 location: { 36 address: { 37 street1: "75 Penn Plaza", 38 city: "New York", 39 state: "NY", 40 zipcode: "10001", 41 }, 42 }, 43 }, 44 }, 45 }, 46 { 47 // Update documents that match the specified filter 48 updateMany: { 49 filter: { "location.address.zipcode": "44011" }, 50 update: { $set: { is_in_ohio: true } }, 51 upsert: true, 52 }, 53 }, 54 { 55 // Delete a document that matches the specified filter 56 deleteOne: { filter: { "location.address.street1": "221b Baker St" } }, 57 }, 58 ]); 59 // Log the result of the bulk write operation 60 console.log(result); 61 } finally { 62 // Close the database connection when the operations are completed or if an error occurs 63 await client.close(); 64 } 65 } 66 run().catch(console.dir);
1 import { MongoClient } from "mongodb"; 2 3 // Replace the uri string with your MongoDB deployment's connection string. 4 const uri = "<connection string uri>"; 5 6 const client = new MongoClient(uri); 7 8 interface Address { 9 street1: string; 10 city: string; 11 state: string; 12 zipcode: string; 13 } 14 15 interface Theater { 16 location: { address: Address }; 17 is_in_ohio?: boolean; 18 } 19 20 async function run() { 21 try { 22 const database = client.db("sample_mflix"); 23 const theaters = database.collection<Theater>("theaters"); 24 25 const result = await theaters.bulkWrite([ 26 { 27 insertOne: { 28 document: { 29 location: { 30 address: { 31 street1: "3 Main St.", 32 city: "Anchorage", 33 state: "AK", 34 zipcode: "99501", 35 }, 36 }, 37 }, 38 }, 39 }, 40 { 41 insertOne: { 42 document: { 43 location: { 44 address: { 45 street1: "75 Penn Plaza", 46 city: "New York", 47 state: "NY", 48 zipcode: "10001", 49 }, 50 }, 51 }, 52 }, 53 }, 54 { 55 updateMany: { 56 // Important: You lose type safety when you use dot notation in queries 57 filter: { "location.address.zipcode": "44011" }, 58 update: { $set: { is_in_ohio: true } }, 59 upsert: true, 60 }, 61 }, 62 { 63 deleteOne: { 64 filter: { "location.address.street1": "221b Baker St" }, 65 }, 66 }, 67 ]); 68 69 console.log(result); 70 } finally { 71 await client.close(); 72 } 73 } 74 run().catch(console.dir);
Al ejecutar el ejemplo anterior, se produce el siguiente resultado:
BulkWriteResult { insertedCount: 2, matchedCount: 1, modifiedCount: 1, deletedCount: 0, upsertedCount: 0, upsertedIds: {}, insertedIds: { '0': new ObjectId("..."), '1': new ObjectId("...") } }
Información Adicional
Para obtener más información sobre operaciones masivas, consulte Operaciones de escritura masiva en el manual de MongoDB Server.
Documentación de la API
Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API: