Docs Menu
Docs Home
/ /

MongoDB\Collection::insertMany()

MongoDB\Collection::insertMany()

Insertar varios documentos.

function insertMany(
array $documents,
array $options = []
): MongoDB\InsertManyResult
$documents : matriz
Los documentos a insertar en la colección.
$options : matriz

Una matriz que especifica las opciones deseadas.

Nombre
Tipo
Descripción

bypassDocumentValidation

booleano

Si es true, permite que la operación de escritura evite la validación a nivel de documento. El valor predeterminado es false.

codec

MongoDB\Códec\DocumentCodec

El Codificar datos con códecs de tipo para codificar o decodificar documentos. Esta opción es mutuamente excluyente con la typeMap opción.

El valor predeterminado es el códec de la colección. La herencia de la opción predeterminada codec prevalece sobre la de la opción typeMap.

Nuevo en la versión 1.17.

comment

mixto

Permite a los usuarios especificar un comentario arbitrario para ayudar a rastrear la operación a través del generador de perfilesde base de datos, salidacurrentOpy registros.

Esta opción está disponible desde MongoDB 4.4 y generará una excepción en el momento de ejecución si se especifica para una versión de servidor anterior.

Novedades en la versión 1.13.

ordenado

booleano

Si true: cuando falla una sola escritura, la operación se detendrá sin realizar las escrituras restantes y lanzará una excepción.

Si false: cuando falla una sola escritura, la operación continuará con las escrituras restantes, si las hay, y lanzará una excepción.

El valor es por defecto true.

sesión

Sesión de cliente para asociar a la operación.

Nuevo en la versión 1.3.

writeConcern

Escriba la preocupación que se usará para la operación. El valor predeterminado es la preocupación de escritura de la colección.

No es posible especificar una preocupación de escritura para operaciones individuales como parte de una transacción. En su lugar, configure la writeConcern opción al iniciar la transacción.

Un objeto,MongoDB\InsertManyResult que encapsula un objeto MongoDB\Driver\WriteResult.

MongoDB\Exception\InvalidArgumentException para errores relacionados con el análisis de parámetros u opciones.

MongoDB\Driver\Exception\BulkWriteException para errores relacionados con la operación de escritura. Puede inspeccionar el valor devuelto por getWriteResult() para determinar la naturaleza del error.

MongoDB\Driver\Exception\RuntimeException para otros errores en el nivel de extensión (por ejemplo, errores de conexión).

Si se lanza una MongoDB\Driver\Exception\BulkWriteException, puede llamar a getWriteResult() e inspeccionar el objeto MongoDB\Driver\WriteResult devuelto para determinar la naturaleza del error.

Por ejemplo, es posible que una operación de escritura se haya ejecutado correctamente en el servidor principal, pero no haya solucionado el problema (p. ej., la replicación tardó demasiado). También es posible que una operación de escritura haya fallado por completo (p. ej., violación de clave única).

En el caso de una escritura masiva, el resultado podría indicar múltiples operaciones de escritura exitosas o errores. Si la opción ordered es true, es posible que algunas operaciones se hayan realizado correctamente antes de que se encontrara el primer error y se lanzara la excepción. Si la opción ordered es false, es posible que se hayan encontrado múltiples errores.

La siguiente operación inserta dos documentos en la colección users de la base de datos test:

<?php
$collection = (new MongoDB\Client)->test->users;
$insertManyResult = $collection->insertMany([
[
'username' => 'admin',
'email' => 'admin@example.com',
'name' => 'Admin User',
],
[
'username' => 'test',
'email' => 'test@example.com',
'name' => 'Test User',
],
]);
printf("Inserted %d document(s)\n", $insertManyResult->getInsertedCount());
var_dump($insertManyResult->getInsertedIds());

El resultado sería entonces similar a lo siguiente:

Inserted 2 document(s)
array(2) {
[0]=>
object(MongoDB\BSON\ObjectId)#11 (1) {
["oid"]=>
string(24) "579a25921f417dd1e5518141"
}
[1]=>
object(MongoDB\BSON\ObjectId)#12 (1) {
["oid"]=>
string(24) "579a25921f417dd1e5518142"
}
}

Volver

obtenerWriteConcern()

En esta página