Consulta de filtro MongoDB

Consulta de filtro MongoDB
La agregación de filtro MongoDB se introdujo en la versión 3.2. Se utiliza para elegir un subconjunto de una matriz y proporcionar el resultado basado en criterios. El operador del filtro devuelve una variedad de entradas que se ajustan al criterio proporcionado en el orden que se encontraron. Al usar el operador de filtro en MongoDB, debemos proporcionar la entrada, AS y Cond como argumentos. Los parámetros requeridos de entrada y cond cond se requieren, sin embargo, "AS" es opcional. Debemos usar el signo $ antes de la palabra clave del filtro cuando usamos el operador de filtro en MongoDB.

Sintaxis de la consulta de filtro MongoDB en Ubuntu 20.04?

El operador de filtro $ proporciona una matriz con solo esos elementos en el orden original que coinciden con la condición. A continuación se menciona la sintaxis del filtro $:

$ filtro: entrada: , como: , Cond:
  • Filtro: el operador de filtro $ se utiliza para proporcionar un resultado que cumpla con ciertos criterios. En MongoDB, utilizamos el operador de filtro para filtrar los resultados en función del criterio que especificamos en la consulta.
  • Entrada: Esta es una expresión de resolución de matriz. Logramos pasar el campo de matriz como parámetro de entrada para filtrar los registros. Antes de usar el parámetro del campo de entrada en el operador del filtro, debemos usar el signo $.
  • AS: Es un argumento del operador de filtro que es opcional. Este es el nombre del campo que se utilizó como un elemento en la matriz de entrada. Este parámetro es del tipo de cadena en el operador de filtro. Usando la palabra clave "AS", esta expresión accede a cada elemento en una matriz de entrada.
  • Cond: esta opción determina dónde se debe incluir el valor de la matriz generada. Este parámetro es del tipo de expresión en el operador de filtro. Los valores de la colección dada se filtraron usando expresión. Podemos usar numerosos operadores condicionales para filtrar datos de elementos de matriz.

Cómo funciona la consulta del filtro en MongoDB en Ubuntu 20.04:

Se utiliza un operador de filtro MongoDB $ para filtrar documentos desde una matriz basada en una condición que definimos en nuestra consulta. Basado en la condición dada, devuelve un subconjunto de una matriz. Solo se devuelven aquellas entradas de matriz que satisfacen los requisitos. Los elementos se vuelven a montar en el mismo acuerdo que antes.

Veamos algunos casos para ayudarlo a comprender lo que estamos discutiendo. A medida que avanzamos a través del artículo, nos gustaría que pruebe los ejemplos en Mongo Shell. Comenzamos creando una colección de bases de datos que se utilice a lo largo del artículo.

Aquí, hemos definido una colección de la base de datos como "candidatos" utilizando el shell MongoDB. Para esta colección, tenemos el campo de identificación, nombre y marcas definidas. Hemos insertado siete documentos al mismo tiempo utilizando la consulta InsertMany.

La colección "candidatos" está invocando la función de búsqueda como en la consulta anterior. Luego, el documento grabado muestra el campo y sus valores correspondientes. Tenga en cuenta que en el campo "marcas", la matriz se define con algunos valores aleatorios.

Ejemplo 1: Uso del operador de filtro $ en MongoDB en Ubuntu 20.04:

El operador de filtro $ se utiliza para filtrar los miembros de la matriz en el campo "marcas" de la colección dada en el siguiente ejemplo:

Hemos utilizado la consulta agregada sobre la colección de "candidatos". Dentro de esta consulta, tenemos el operador $ Match que se utiliza para filtrar el documento por ID. Hemos asignado el campo de identificación A $ en operador. El operador $ en el operador encuentra documentos en los que el valor de ID es igual a cualquier valor en la matriz proporcionada. Luego, el operador de filtro $ se pasa el argumento de entrada y establece su valor "$ marcas". También se utiliza el parámetro "AS" que devuelve el nombre de campo "Marcas". Luego, hemos especificado el parámetro Cond que utiliza el operador más grande que el campo en el campo "Marcas $$".

Siguiendo la consulta anterior, el resultado que obtuvimos se muestra en la figura con el nuevo nombre de campo Highmarks.

Ejemplo 2: Uso del operador de filtro $ para una matriz vacía en MongoDB en Ubuntu 20.04:

Cuando uno de nuestros documentos de colección tiene una matriz vacía, el operador del filtro devuelve un conjunto de matriz vacío, como se puede ver aquí:

Dentro de la coincidencia $ hemos especificado la identificación que tiene el operador $ en el operador que devuelve la identificación "7" de la colección como hemos dado "7" dentro de una matriz. Luego, la consulta del filtro $ ha proporcionado el campo de recolección "marcas" que devuelve una matriz vacía porque no se almacena ningún valor dentro del campo "Marcas" de ID "7".

El resultado del operador del filtro tiene un conjunto vacío del documento aquí.

Ejemplo 3: Uso del operador de filtro $ para el tipo incorrecto en MongoDB en Ubuntu 20.04:

Si intentamos usar el filtro $ en un campo que no tiene una matriz, recibiremos un error. La siguiente es la demostración de esta declaración.

Hemos dado un "nombre" de campo del documento cuya identificación es "5" dentro del operador de filtro $. En el parámetro cond de $ filtro, tenemos el operador $ eq que toma el campo "$ nombre" y coincide con el valor de la cadena definido a él.

Cuando ejecutamos la consulta anterior, el mensaje de error muestra que el tipo debe ser una matriz en el operador de filtro $ como se ve en la figura.

Ejemplo 4: Uso del operador de filtro $ con el $ esta variable en MongoDB en Ubuntu 20.04:

Usamos el parámetro "AS" para darle un nombre a la variable en los casos anteriores. El parámetro AS es opcional. Si configuramos este campo en blanco, el nombre de la variable será "esto" de forma predeterminada.

Aquí, hemos especificado la matriz en $ en operador que selecciona los campos de identificación de los documentos de la colección dada dentro del $ coincidente. Luego, el filtro $ tiene el dos parámetros, la entrada y el condado. El parámetro Cond tiene el operador más grande que recupera las marcas superiores a 65. No los hemos usado como parámetro, en su lugar utilizamos el nombre de este campo $$.

Por lo tanto, al usar $$ esto para hacer referencia al campo, obtuvimos los mismos resultados que el "AS". La salida está satisfecha con la condición $ coincidente y la condición de filtro $ que se ve en la imagen.

Conclusión:

Esta es una guía de filtro MongoDB. En este artículo, hemos pasado por la definición, la sintaxis y cómo funcionan los filtros en MongoDB. También se proporcionan ejemplos e implementación del código. Los elementos del campo de matriz se filtran utilizando el operador de filtro MongoDB. Para recuperar datos de los elementos de matriz, hemos utilizado varias condiciones, como $ GT, $ LT, $ GTE y $ LTE.