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.