En este artículo, se proporciona una breve información sobre el uso de $ todos los operadores en el contexto en MongoDB.
Cómo funciona $ todo operador en MongoDB
Como se discutió anteriormente, con la ayuda de $ todos los operadores; Se pueden obtener documentos basados en campos de matriz.
Para obtener mejores entendimientos, echemos un vistazo a la sintaxis de $ All Operator:
"campo": $ all: ["valor1", "valor2" ...]
Este operador busca los valores especificados y cualquier documento que tenga un campo con valores exactos, se recupera. Sin embargo, se nota que $ todos funcionará solo si todos los valores coinciden con los valores de un campo de matriz en un documento. El mecanismo de trabajo de $ todos se relaciona con psy (operador lógico en MongoDB); Ambos operadores buscan coincidencias exactas. Pero psy el operador se puede usar con varios tipos de datos mientras $ todos es solo específico para los campos de tipo de datos de matriz.
Cómo funciona $ todo operador en MongoDB
En esta guía, se utilizarán las siguientes instancias de MongoDB:
Los siguientes documentos residen en "proyectos" recopilación:
> DB.proyectos.encontrar().bonito()
Ejemplo 1: Uso básico de $ All Operator
Este ejemplo demuestra el uso fundamental de $ todos operadores; Por ejemplo, el comando mencionado a continuación buscará una coincidencia exacta de los valores de matriz en "gerentes" campo; Solo se muestran esos documentos que tienen los nombres del gerente "Miguel" y "Sam":
> DB.proyectos.Find (Managers: $ all: ["Mike", "Sam"]).bonito()
Ejemplo 2: Uso de $ todo operador con matrices anidadas
Si el documento contiene matrices anidadas como en nuestro caso "hardwareEl proyecto contiene una variedad anidada de gerentes, podemos obtener el documento especificando la matriz de nidos en $ todo operador. El comando mencionado a continuación obtendrá el documento que tenga gerentes "Alen","Sam" y "Elón":
> DB.proyectos.Find (Managers: $ all: [["Alen", "Sam"], "Elon"]).bonito()
Se nota que si desea usar solo una porción anidada de la matriz; También puede hacerlo, y el siguiente comando lo ayudará a este respecto:
> DB.proyectos.Find (Managers: $ all: [["Alen", "Sam"]]]).bonito()
Ejemplo 3: Uso de $ All Operator para que coincida con un valor
Además de tratar con matrices, el uso de $ todos los operadores se puede extender para que coincidan con los valores en el documento. En nuestro caso, el comando mencionado a continuación obtendrá los documentos que tienen "costo"El valor es igual a"5000":
> DB.proyectos.find (costo: $ all: [5000]).bonito()
O se puede decir que el comando escrito a continuación también le proporcionará el mismo resultado:
> DB.proyectos.encontrar (costo: 5000).bonito()
> DB.mi colección.encontrar().bonito()
Conclusión
MongoDB proporciona una extensa lista de operadores que se utilizan para recuperar los documentos requeridos de la recopilación de cualquier base de datos de Mongo. En este artículo, un operador asociado a la matriz llamado $ All se discute brevemente en el contexto de MongoDB. Este operador se puede usar para que coincida con los valores de la matriz en un campo y obtenga ese documento relevante. Además de los valores de matriz, $ todos también proporciona soporte para obtener el documento haciendo coincidir cualquier valor (que no sea una matriz).