Docs Menu
Docs Home
/ /

MongoDB\GridFS\Bucket::find()

MongoDB\GridFS\Bucket::find()

Encuentra documentos de la colección de archivos del bucket GridFS que coinciden con la consulta.

function find(
array|object $filter = [],
array $options = []
): MongoDB\Driver\Cursor
$filter : matriz|objeto
Los criterios de filtro que especifican los documentos a consultar.
$options : matriz

Una matriz que especifica las opciones deseadas.

Nombre
Tipo
Descripción

allowDiskUse

booleano

Permite escribir en archivos temporales. Cuando se establece en true, las consultas pueden guardar datos en el subdirectorio _tmp en el directorio dbPath.

permitir resultados parciales

booleano

Para consultas sobre una colección fragmentada, devuelve resultados parciales de la mongos si algunos fragmentos no están disponibles en lugar de generar un error.

tamaño del lote

entero

Número de documentos que se devolverán en el primer lote. El valor predeterminado es 101. Un valor de 0 significa que el cursor se establecerá, pero no se devolverá ningún documento en el primer lote.

A diferencia de la versión anterior del protocolo de cable, un batchSize de 1 para el comando no cierra el find cursor.

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 del depósito. La herencia de la opción predeterminada codec prevalece sobre la de la opción typeMap.

Nuevo en la versión 1.17.

intercalación

matriz|objeto

comment

mixto

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

El comentario puede ser cualquier tipo BSON válido a partir de MongoDB 4.4. Las versiones anteriores del servidor solo admiten valores de cadena.

tipo de cursor

entero

Indica el tipo de cursor a utilizar. cursorType admite los siguientes valores:

  • MongoDB\Operation\Find::NON_TAILABLE ( por defecto)

  • MongoDB\Operation\Find::TAILABLE

hint

cadena|matriz|objeto

El índice a utilizar. Especifique el nombre del índice como una cadena o el patrón de clave del índice como un documento. Si se especifica, el sistema de consultas solo considerará los planes que utilicen el índice sugerido.

Nuevo en la versión 1.2.

permitir

matriz|objeto

Mapa de nombres y valores de parámetros. Los valores deben ser constantes o expresiones cerradas que no hagan referencia a campos del documento. Se puede acceder a los parámetros como variables en un contexto de expresión agregada (p. ej., $$var).

Esto no es compatible con versiones de servidor anteriores a 5.0 y generará una excepción en el momento de ejecución si se utiliza.

Novedades en la versión 1.13.

limit

entero

El número máximo de documentos a devolver. Si no se especifica, el valor predeterminado es "sin límite". Un límite de 0 equivale a "sin límite".

Un límite negativo es similar a uno positivo, pero cierra el cursor tras devolver un único lote de resultados. Por lo tanto, con un límite negativo, si el conjunto de resultados limitado no cabe en un único lote, el número de documentos recibidos será inferior al límite especificado. Al pasar un límite negativo, el cliente indica al servidor que no solicitará un lote posterior mediante getMore.

máximo

matriz|objeto

El límite superior exclusivo para un índice específico.

Nuevo en la versión 1.2.

maxAwaitTimeMS

entero

Entero positivo que indica el límite de tiempo en milisegundos que el servidor debe utilizar para bloquear una operación getMore si no hay datos disponibles. Esta opción solo debe usarse si cursorType es TAILABLE_AWAIT.

Nuevo en la versión 1.2.

maxTimeMS

entero

El límite de tiempo acumulado en milisegundos para procesar operaciones en el cursor. MongoDB cancela la operación en el punto de interrupción posterior más cercano.

min

matriz|objeto

El límite inferior inclusivo para un índice específico.

Nuevo en la versión 1.2.

noCursorTimeout

booleano

Se previene que el servidor cierre los cursores inactivos tras un periodo de inactividad (10 minutos).

proyección

matriz|objeto

La especificación de proyección para determinar qué campos se incluirán en los documentos devueltos.Consulte Campos de proyecto que se devolverán desde la consulta y Operadores de proyección en el manual de MongoDB.

readConcern

Preocupación delectura para usar en la operación. El valor predeterminado es la preocupación de lectura del depósito.

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

readPreference

Preferencia de lectura para la operación. El valor predeterminado es la preferencia de lectura del depósito.

returnKey

booleano

Si es verdadero, devuelve solo las claves de índice en los documentos resultantes.

Nuevo en la versión 1.2.

sesión

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

Nuevo en la versión 1.3.

showRecordId

booleano

Determina si se devuelve el identificador de registro de cada documento. Si es verdadero, añade un campo $recordId a los documentos devueltos.

Nuevo en la versión 1.2.

Omitir

entero

Número de documentos para omitir. Se establece por defecto en 0.

sort

matriz|objeto

La especificación del orden para la clasificación de los resultados.

typeMap

arreglo

El mapa de tipos que se aplica a los cursores y que determina cómo se convierten los documentos BSON a valores PHP. El valor predeterminado es el mapa de tipos del depósito.

Un objeto MongoDB\Driver\Cursor.

MongoDB\Exception\UnsupportedException si se utilizan opciones que no son compatibles con el servidor seleccionado (porcollation readConcernwriteConcernejemplo,,,).

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

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

Al evaluar los criterios de búsqueda, MongoDB compara tipos y valores según sus propias reglas de comparación para tipos BSON, que difieren de las reglas de comparación y manejo de tipos de PHP. Cuando se coincida con un tipo BSON especial, los criterios de consulta deben utilizar la Clase BSON respectiva en la extensión (por ejemplo, usa MongoDB\BSON\ObjectId para hacer coincidir con un ObjectId.

<?php
$bucket = (new MongoDB\Client)->test->selectGridFSBucket();
$stream = fopen('php://temp', 'w+b');
fwrite($stream, "foobar");
rewind($stream);
$bucket->uploadFromStream('b', $stream);
$cursor = $bucket->find(
['length' => ['$lte' => 6]],
[
'projection' => [
'filename' => 1,
'length' => 1,
'_id' => 0,
],
'sort' => ['length' => -1],
]
);
var_dump($cursor->toArray());

El resultado sería entonces similar a lo siguiente:

array(1) {
[0]=>
object(MongoDB\Model\BSONDocument)#3015 (1) {
["storage":"ArrayObject":private]=>
array(2) {
["filename"]=>
string(1) "b"
["length"]=>
int(6)
}
}
}

Volver

drop()

En esta página