Tip
MongoDB también provee la db.collection.bulkWrite() método para realizar operaciones de escritura masiva.
Definición
db.collection.initializeUnorderedBulkOp()Importante
Método mongosh
Esta página documenta a
mongoshMétodo. Esta no es la documentación de un controlador específico del lenguaje, como Node.js.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Inicializa y devuelve un nuevo generador de
Bulk()operaciones para una colección. El generador construye una lista desordenada de operaciones de escritura que MongoDB ejecuta en bloque.
Compatibilidad
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.
Comportamiento
Orden de operación
Con una lista de operaciones desordenadas, MongoDB puede ejecutar en paralelo las operaciones de escritura en la lista y en cualquier orden. Si el orden de las operaciones es importante, db.collection.initializeOrderedBulkOp() utilice.
Ejecución de operaciones
Al ejecutar una unordered lista de operaciones, MongoDB agrupa las operaciones. Con una operación masiva desordenada, las operaciones en la lista pueden ser reordenadas para aumentar el rendimiento. Por eso, las aplicaciones no deben depender del orden cuando realicen unordered operaciones en bloque.
Las Bulk() operaciones en mongosh y métodos comparables en los drivers no tienen límite para el número de operaciones en un grupo. Para ver cómo se agrupan las operaciones para la ejecución masiva de operaciones, llamar a Bulk.getOperations() después de la ejecución.
Error Handling
Si se produce un error durante el procesamiento de una de las operaciones de guardado, MongoDB continuará procesando las operaciones de guardado restantes en la lista.
Ejemplo
Lo siguiente inicializa un generador de operaciones Bulk() y agrega una serie de operaciones de inserción para añadir varios documentos:
var bulk = db.users.initializeUnorderedBulkOp(); bulk.insert( { user: "abc123", status: "A", points: 0 } ); bulk.insert( { user: "ijk123", status: "A", points: 0 } ); bulk.insert( { user: "mop123", status: "P", points: 0 } ); bulk.execute();