Docs Menu
Docs Home
/ /
Operaciones masivas

Bulk.insert() (método mongosh)

Tip

MongoDB también proporciona la db.collection.bulkWrite() Método para realizar operaciones de escritura masiva.

Bulk.insert(<document>)

Agrega una operación de inserción a una lista de operaciones masivas.

Bulk.insert() acepta el siguiente parámetro:

Parameter
Tipo
Descripción

doc

Documento

Documento a insertar. El tamaño del documento debe ser menor o igual al tamaño máximo de documento BSON.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.

Incluso si se produce un error del servidor durante una inserción, es posible que se hayan insertado algunos documentos.

Tras una inserción correcta, el sistema devuelve, el número de documentos insertados en la colección. Si la operación de inserción se interrumpe debido BulkWriteResult.nInsertedBulkWriteResult.nInserted a un cambio de estado en el conjunto de réplicas, el sistema puede continuar insertando documentos. Como resultado, puede informar menos documentos de los que realmente se insertaron.

Si una Operación inserta una gran cantidad de datos aleatorios (por ejemplo, índices encriptados) en un campo indexado, el rendimiento de las inserciones puede disminuir. Las inserciones masivas de datos aleatorios generan entradas de índice aleatorias, lo que incrementa el tamaño del índice. Si el índice alcanza un tamaño que requiere que cada inserción aleatoria acceda a una entrada de índice diferente, las inserciones resultan en una alta tasa de desalojo y reemplazo de la caché de WiredTiger. Cuando esto ocurre, el índice deja de estar completamente en caché y se actualiza en el disco, lo que reduce el rendimiento.

Para mejorar el rendimiento de las inserciones masivas de datos aleatorios en campos de índice, puedes:

  • Descartar el índice y luego volver a crearlo después de insertar los datos aleatorios.

  • Inserta los datos en una colección vacía sin índice.

Crear el índice después de la inserción masiva ordena los datos en memoria y realiza una inserción ordenada en todos los índices.

Lo siguiente inicializa un Bulk() generador items de operaciones para la colección y agrega una serie de operaciones de inserción para agregar múltiples documentos:

var bulk = db.items.initializeUnorderedBulkOp();
bulk.insert( { item: "abc123", defaultQty: 100, status: "A", points: 100 } );
bulk.insert( { item: "ijk123", defaultQty: 200, status: "A", points: 200 } );
bulk.insert( { item: "mop123", defaultQty: 0, status: "P", points: 0 } );
bulk.execute();

Volver

Operaciones de obtención masivas

En esta página