En este artículo, proporcionaremos una guía detallada para usar $ y $ nin Operadores en MongoDB:
Se recomienda completar los siguientes elementos de la lista de requisitos previos para proceder a la aplicación de estos operadores.
Requisitos previos
Esta sección contiene un conjunto de componentes de MongoDB que son necesarios para ser adoptados para seguir esta guía:
En esta publicación, utilizaremos la siguiente base de datos y una colección para aplicar operadores de $ In y $ NIN:
Nombre de la base de datos: Linuxhint
Nombre de la colección: debian
También debe insertar algunos documentos en una colección.
Cómo usar operadores $ In y $ nin en MongoDB
Este artículo está dividido en dos partes; uno se refiere al operador $ en el operador y el otro demuestra el uso del operador de $ nin.
En primer lugar, verificaremos los documentos disponibles en nuestra colección (para que podamos realizar acciones en consecuencia).
Conéctese a su MongoDB emitiendo el siguiente comando en Ubuntu Terminal: se nota que este comando lo conectará automáticamente a cáscara de mongo también.
$ sudo mongo linuxhint
Después de eso, puede obtener la visualización de todos los documentos disponibles en su colección: por ejemplo, el siguiente comando ayudará a recuperar documentos disponibles en el "debian" recopilación:
> DB.debian.encontrar().bonito()Cómo usar $ en operador en MongoDB
El $ El operador buscará la matriz y muestra el documento que coincide con el valor: la sintaxis de $ se escribe a continuación:
"campo": $ in: ["valor1", "valor2", ...]Debe especificar el nombre de campo y los valores que desea buscar:
Ejemplo 1: Uso de $ in para que coincida con un valor
El $ en el operador se puede usar para que coincida con un valor en un campo e imprimirá los documentos que coincidan con ese valor. Por ejemplo, el siguiente comando mostrará todos los documentos que tienen "numer"(Campo) es igual al valor"20": Como solo un documento contiene valor"20"; Por lo tanto, solo ese se imprime:
> DB.debian.find (num: $ in: [20]).bonito()Ejemplo 2: Uso de $ IN para que coincida con un valor de matriz (s)
Además, también puede usar el operador $ en el operador para buscar valores de matriz en la base de datos MongoDB. En nuestro caso, el comando mencionado a continuación mostrará los documentos que tienen valores "Miguel" y "Jacobo" en "Autores " campo:
> DB.debian.find (autores: $ in: ["Mike", "Jack"]).bonito()
Ejemplo 3: Uso de $ In para coincidir con expresiones regulares
El $ en el operador también se puede usar para que coincida con los valores especificados por una expresión regular: el comando mencionado a continuación mostrará documentos que contienen un campo "Tipo"Y las cuerdas en el campo comienzan con"abundante" o "cd":
> DB.debian.find (type: $ in: [/^ab/,/^cd/]).bonito()Cómo usar el operador $ nin en MongoDB
El operador de $ NIN en MongoDB actúa de manera opuesta a $ IN; como $ nin mostrará el documento que no contiene el valor especificado. La sintaxis es igual de $ in y se muestra a continuación:
"Archivado": $ nin: ["valor1", "valor2" ...]Ejemplo 1: Uso de $ nin para que coincida con un valor
Como ya se mencionó, ese operador de $ NIN no muestra el documento que coincida con un valor. El siguiente comando mostrará los documentos que no contienen "20" en "numer" campo:
La siguiente salida muestra que los documentos impresos no contienen valor "20":
> DB.debian.Find (num: $ nin: [20]).bonito()Ejemplo 2: Uso de $ nin para que coincida con un valor de matriz
El siguiente comando mostrará los documentos que no contienen "Miguel" y "John" en el "Autores" campo. Como ninguno de los documentos se queda atrás porque todos los documentos tienen "Miguel" o "John"Como autor, habrá una salida vacía:
> DB.debian.find (autores: $ nin: ["Mike", "John"]).bonito()Ejemplo 3: Uso de $ nin para que coincida con una expresión regular
El operador de $ NIN también se usa para obtener los documentos en función de expresiones regulares; Por ejemplo, en el siguiente comando mencionado, "Tipo"Se selecciona el campo y $ NIN imprimirá esos documentos en los que"Tipo"El valor no comienza con"abundante" o "cd":
> DB.debian.find (type: $ nin: [/^ab/,/^cd/]).bonito()Nota: El "bonito()El método "utilizado en este artículo es solo para obtener la salida en forma estructurada; solo puedes usar "encontrar()"Para obtener el mismo resultado pero de una manera no estructurada.
Conclusión
La gestión de datos adecuada es la principal preocupación de cualquier organización. Tienen que almacenar datos y se prefieren la recuperación rápida de los datos cuando sea necesario. Varios sistemas de gestión de bases de datos proporcionan dicha funcionalidad y MongoDB es uno de ellos. En esta publicación, hemos descrito el uso de dos operadores "$" y "$ nin"Esa ayuda para recuperar los valores de matriz en una base de datos MongoDB. Estos operadores ayudan a obtener los documentos requeridos basados en valores coincidentes por estos operadores. El operador $ en el operador imprime el documento que contiene la coincidencia; mientras que $ nin imprime esos documentos que no coinciden con el valor.