Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

MongoDB\Collection::distinct()

MongoDB\Collection::distinct()

Encuentra los valores distintos de un campo especificado en la colección.

function distinct(
string $fieldName,
array|object $filter = [],
array $options = []
): mixed[]
$fieldName : string
El campo para el que se deben devolver valores distintos.
$filter : arreglo|objeto
Los criterios de filtro que especifican los documentos de los que se recuperarán los valores distintos.
$options : arreglo

Una matriz que especifica las opciones deseadas.

Nombre
Tipo
Descripción

intercalación

arreglo|objeto

Laintercalación permite a los usuarios especificar reglas específicas del idioma para la comparación de cadenas, como el uso de mayúsculas y minúsculas y tildes. Al especificar la intercalación, el locale campo es obligatorio; todos los demás campos son opcionales. Para obtener descripciones de los campos, consulte el documento de intercalación.

Si la intercalación no está especificada pero la colección tiene una intercalación predeterminada, la operación utiliza la intercalación especificada para la colección. Si no se especifica una intercalación para la colección o para la operación, MongoDB utiliza la comparación binaria simple utilizada en versiones anteriores para comparar cadenas.

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.

hint

string|objeto

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

maxTimeMS

entero

El límite de tiempo acumulado en milisegundos para las operaciones de procesamiento en el cursor. MongoDB aborta la operación en el siguiente punto de interrupción..

readConcern

Nivel de consistencia de lectura para usar en la operación. Por defecto, adopta el nivel de consistencia de lectura de la colección.

readPreference

Preferencia de lectura a utilizar para la operación. Por defecto, se utiliza la preferencia de lectura de la colección.

sesión

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

typeMap

arreglo

El mapa de tipos para aplicar a cursores, que determina cómo se convierten los documentos BSON en valores PHP. Por defecto, se utiliza el mapa de tipos de la colección.

Un arreglo de los valores distintos.

MongoDB\Exception\UnexpectedValueException si la respuesta del comando del servidor era incorrecta.

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

MongoDB\Exception\InvalidArgumentException por 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.

El siguiente ejemplo identifica los valores distintos para el campo borough en la colección restaurants en la base de datos test.

<?php
$collection = (new MongoDB\Client)->test->restaurants;
$distinct = $collection->distinct('borough');
var_dump($distinct);

La vista de salida se ilustraría como sigue:

array(6) {
[0]=>
string(5) "Bronx"
[1]=>
string(8) "Brooklyn"
[2]=>
string(9) "Manhattan"
[3]=>
string(7) "Missing"
[4]=>
string(6) "Queens"
[5]=>
string(13) "Staten Island"
}

El siguiente ejemplo identifica los valores únicos para el campo cuisine en la colección restaurants de la base de datos test para documentos donde el borough es Queens:

<?php
$collection = (new MongoDB\Client)->test->restaurants;
$distinct = $collection->distinct('cuisine', ['borough' => 'Queens']);
var_dump($distinct);

La vista de salida se ilustraría como sigue:

array(75) {
[0]=>
string(6) "Afghan"
[1]=>
string(7) "African"
[2]=>
string(9) "American "
[3]=>
string(8) "Armenian"
[4]=>
string(5) "Asian"
[5]=>
string(10) "Australian"
[6]=>
string(15) "Bagels/Pretzels"
[7]=>
string(6) "Bakery"
[8]=>
string(11) "Bangladeshi"
[9]=>
string(8) "Barbecue"
[10]=>
string(55) "Bottled beverages, including water, sodas, juices, etc."
[11]=>
string(9) "Brazilian"
[12]=>
string(4) "Cafe"
[13]=>
string(16) "Café/Coffee/Tea"
[14]=>
string(5) "Cajun"
[15]=>
string(9) "Caribbean"
[16]=>
string(7) "Chicken"
[17]=>
string(7) "Chinese"
[18]=>
string(13) "Chinese/Cuban"
[19]=>
string(16) "Chinese/Japanese"
[20]=>
string(11) "Continental"
[21]=>
string(6) "Creole"
[22]=>
string(5) "Czech"
[23]=>
string(12) "Delicatessen"
[24]=>
string(6) "Donuts"
[25]=>
string(16) "Eastern European"
[26]=>
string(8) "Egyptian"
[27]=>
string(7) "English"
[28]=>
string(8) "Filipino"
[29]=>
string(6) "French"
[30]=>
string(17) "Fruits/Vegetables"
[31]=>
string(6) "German"
[32]=>
string(5) "Greek"
[33]=>
string(10) "Hamburgers"
[34]=>
string(16) "Hotdogs/Pretzels"
[35]=>
string(31) "Ice Cream, Gelato, Yogurt, Ices"
[36]=>
string(6) "Indian"
[37]=>
string(10) "Indonesian"
[38]=>
string(5) "Irish"
[39]=>
string(7) "Italian"
[40]=>
string(8) "Japanese"
[41]=>
string(13) "Jewish/Kosher"
[42]=>
string(30) "Juice, Smoothies, Fruit Salads"
[43]=>
string(6) "Korean"
[44]=>
string(64) "Latin (Cuban, Dominican, Puerto Rican, South & Central American)"
[45]=>
string(13) "Mediterranean"
[46]=>
string(7) "Mexican"
[47]=>
string(14) "Middle Eastern"
[48]=>
string(8) "Moroccan"
[49]=>
string(25) "Not Listed/Not Applicable"
[50]=>
string(18) "Nuts/Confectionary"
[51]=>
string(5) "Other"
[52]=>
string(9) "Pakistani"
[53]=>
string(16) "Pancakes/Waffles"
[54]=>
string(8) "Peruvian"
[55]=>
string(5) "Pizza"
[56]=>
string(13) "Pizza/Italian"
[57]=>
string(6) "Polish"
[58]=>
string(10) "Portuguese"
[59]=>
string(7) "Russian"
[60]=>
string(6) "Salads"
[61]=>
string(10) "Sandwiches"
[62]=>
string(30) "Sandwiches/Salads/Mixed Buffet"
[63]=>
string(7) "Seafood"
[64]=>
string(9) "Soul Food"
[65]=>
string(18) "Soups & Sandwiches"
[66]=>
string(12) "Southwestern"
[67]=>
string(7) "Spanish"
[68]=>
string(5) "Steak"
[69]=>
string(5) "Tapas"
[70]=>
string(7) "Tex-Mex"
[71]=>
string(4) "Thai"
[72]=>
string(7) "Turkish"
[73]=>
string(10) "Vegetarian"
[74]=>
string(29) "Vietnamese/Cambodian/Malaysia"
}
  • Referencia del comando distinct en el manual MongoDB

Volver

deleteOne()

En esta página