Cómo usar el operador en MongoDB

Cómo usar el operador en MongoDB
MongoDB proporciona un sistema de consulta fuerte respaldado por varios comandos y operadores. Existe una larga lista de operadores (como $ size, $ donde, $ GT, $ regex y muchos más) que han extendido el uso de MongoDB para cumplir con la funcionalidad básica de cualquier base de datos. El $ donde el operador pertenece a la clase de operadores de consultas de evaluación y se puede ejercer para pasar una cadena basada en JavaScript o función JavaScript. El $ donde el operador se usa en MongoDB para obtener solo aquellos documentos que coinciden con las expresiones de JavaScript.

En esta publicación descriptiva, hemos proporcionado una visión del uso de $ donde el operador en contexto de MongoDB.

¿Cómo funciona $ donde funciona en mongodb?

Se observa que el $ donde el operador se usa rara vez en comparación con otros operadores estándar de MongoDB como $ GT, $ LT, $ IN y $ nin.

Como se mencionó anteriormente, el $ donde el operador trabaja solo para cadenas basadas en JS o solo sus funciones y la sintaxis para usar $ donde el operador se menciona a continuación:

$ donde:

Se observa que $ donde el operador no se puede ejecutar con pocas funciones estándar de MongoDB como db. El $ donde el operador, junto con las operaciones de map-reduce en MongoDB, admiten varias funciones de JavaScript y, por lo tanto, no se pueden usar a nivel mundial

Cómo usar $ donde en MongoDB

Las siguientes instancias de MongoDB se utilizan en esta guía:

Base de datos: La base de datos utilizada aquí se llama "Linuxhint".

Nombre de colección: La colección que se ejerce en este artículo se llama "Los grados".

Y los documentos contenidos por "Los gradosLa colección se muestra a continuación:

> DB.personal.encontrar().bonito()

Nota: C1, C2, C3, C4 se suponen como ID de cursos en la salida anterior.

Ejemplo 1: Uso básico de $ donde el operador

Antes de entrar en detalles, debe recordar que las dos palabras clave, ya sea ""este" o "obj"Se utilizan para referirse a documentos en la función JS o la expresión de JS.

Refiriéndose a los documentos en el "Los grados" recopilación:

Comando 1: El comando escrito a continuación buscará documentos y mostrará solo aquellos que tienen los mismos valores en diferentes campos:

Como puede verificar que la salida contiene solo "uno"Documento donde valores de"C1" y "C2" fósforo.

> DB.Los grados.encontrar ($ dónde: "esto.C1 == esto.C2 ").bonito()

Comando 2: La misma salida (como en Comando 1) se puede lograr emitiendo el comando indicado a continuación en Mongo Shell. Aquí el "obj'Se usa la palabra clave en lugar de "este".

> DB.Los grados.encontrar ($ donde: "obj.C1 "==" obj.C2 ").bonito()

Comando 3: También puede usar el operador $ donde hemos realizado en el comando a continuación. En el siguiente comando, una función () devolverá los documentos obtenidos aplicando "obj" y "este"Palabra clave, el valor de"C1" y "C3" partidos.

> DB.Los grados.find ($ where: function () return (this.C1 == esto.C3)).bonito()

Comando 4: La aplicación de la función JS () con $ donde el operador también se puede lograr utilizando el "obj"Palabra clave en lugar de"este". Para esto, puede ejecutar el siguiente comando:

> DB.Los grados.find ($ where: function () return obj.C1 == obj.C3).bonito()

Ejemplo 2: $ donde actúa sin usarlo al mando

Si su comando solo realiza la aplicación del operador $ Where Where, puede usar el comando sin especificar la palabra clave $ donde el comando. El comando de ejemplo en una situación como esta se indica a continuación:

> DB.Los grados.encuentra esto.C1 == esto.C2 ").bonito()

O el "obj"La palabra clave también se puede usar en lugar de"este"En el comando anterior.

> DB.Los grados.encontrar ("obj.C1 == obj.C2 ").bonito()

Ejemplo 3: Uso de $ donde con operadores estándar de MongoDB

El $ donde el operador se puede usar con varios otros operadores de MongoDB. Por ejemplo, en el comando mencionado a continuación, hemos usado menos de (<) operator with $ donde operador. El comando escrito a continuación buscará condiciones de ambos operadores y luego cualquier documento que satisfaga "==" o "||"La condición se mostrará en la salida.

> DB.Los grados.encuentra esto.pos1 == esto.pos2 || esto.POS1 < this.pos2").pretty()

Se observa trabajar con el $ donde el operador que está buscando dentro de la mayor parte de los documentos puede llevar mucho tiempo con el $ donde operador porque MongoDB se ejecuta $ donde operador después de cualquier otro operador estándar utilizado en la consulta.

Conclusión

MongoDB frecuentemente actualizó sus versiones en el pasado, y la razón era mejorar el rendimiento y la eficacia de cualquier comando o método MongoDB, u operador. En MongoDB, el $ donde el operador se puede usar para que coincida con los campos utilizando la expresión JS o la función JS. En esta guía detallada, hemos proporcionado el uso de los $ donde el operador en MongoDB. Después de la investigación detallada y la recopilación de datos, llegamos al punto de que las alternativas de $ donde se deben preferir el operador, como el $ donde el operador busca toda la colección antes de darle la salida.