Dans ce post descriptif, nous avons fourni un aperçu de l'utilisation de $ où l'opérateur dans le contexte de MongoDB.
Comment $ où fonctionne à Mongodb
Il est remarqué que le $ où l'opérateur est utilisé rarement par rapport à d'autres opérateurs standard de MongoDB comme $ gt, $ lt, $ in et $ nin.
Comme mentionné précédemment, le $ où l'opérateur travaille uniquement pour les chaînes basées sur JS ou ses fonctions uniquement et la syntaxe pour utiliser $ où l'opérateur est mentionné ci-dessous:
$ où:Il est observé que $ où l'opérateur ne peut pas être exécuté avec peu de fonctions standard de MongoDB comme db. Le $ où l'opérateur, ainsi que les opérations de Map-Reduce à MongoDB, prennent en charge plusieurs fonctions JavaScript, et donc ils ne peuvent pas être utilisés à l'échelle mondiale
Comment utiliser $ où à MongoDB
Les instances suivantes de MongoDB sont utilisées dans ce guide:
Base de données: La base de données utilisée ici est nommée «Linuxhint".
Nom de collection: La collection qui est exercée dans cet article est nommée «notes".
Et les documents contenus par «notes»La collection est présentée ci-dessous:
> db.personnel.trouver().joli()Note: C1, C2, C3, C4 sont supposés comme des cours d'identification dans la sortie ci-dessus.
Exemple 1: utilisation de base de $ où l'opérateur
Avant d'entrer dans les détails, vous devez vous rappeler que les deux mots clés, soit "ce" ou "obj"Sont utilisés pour faire référence à des documents dans la fonction JS ou l'expression JS.
Se référant aux documents dans le «notes" collection:
Commande 1: La commande écrite ci-dessous recherchera des documents et affichera uniquement ceux qui ont les mêmes valeurs dans différents champs:
Comme vous pouvez vérifier que la sortie ne contient que «un"Document où les valeurs de"C1" et "C2" correspondre.
> db.notes.trouver ($ où: "ceci.C1 == ceci.C2 ").joli()Commande 2: La même sortie (comme dans Commande 1) peut être réalisé en émettant la commande ci-dessous dans Mongo Shell. Ici le "obj«Le mot-clé est utilisé à la place«ce".
> db.notes.trouver ($ where: "obj.C1 "==" OBJ.C2 ").joli()Commande 3: Vous pouvez également utiliser le $ où l'opérateur comme nous l'avons accompli dans la commande ci-dessous. Dans la commande suivante, une fonction () renverra les documents obtenus en appliquant «obj" et "ce”Mot-clé, la valeur de"C1" et "C3" allumettes.
> db.notes.find ($ where: function () return (this.C1 == ceci.C3)).joli()Commande 4: L'application de la fonction JS () avec $ où l'opérateur peut également être réalisé en utilisant le «obj"Mot-clé au lieu de"ce". Pour cela, vous pouvez exécuter la commande suivante:
> db.notes.trouver ($ where: function () return obj.C1 == OBJ.C3).joli()Exemple 2: $ où agit sans l'utiliser en commande
Si votre commande effectue uniquement l'application de l'opérateur $ où vous pouvez utiliser la commande sans spécifier le mot-clé $ dans la commande. L'exemple de commande dans une situation comme ceux-ci est indiqué ci-dessous:
> db.notes.trouve ça.C1 == ceci.C2 ").joli()Ou la "obj«Le mot-clé peut également être utilisé à la place«ce"Dans la commande ci-dessus.
> db.notes.trouver ("obj.C1 == OBJ.C2 ").joli()Exemple 3: Utilisation de $ où avec des opérateurs MongoDB standard
Le $ où l'opérateur peut être utilisé avec plusieurs autres opérateurs de MongoDB. Par exemple, dans la commande mentionnée ci-dessous, nous avons utilisé moins que (<) operator with $ où opérateur. La commande écrite ci-dessous recherchera les conditions des deux opérateurs, puis tout document satisfaisant soit «==» ou «||»la condition sera affichée dans la sortie.
> db.notes.trouve ça.pos1 == ceci.pos2 || ce.pos1 < this.pos2").pretty()Il est observé en travaillant avec le $ où l'opérateur qui recherche dans la majeure partie des documents peut devenir long avec le $ où opérateur parce que MongoDB s'exécute $ où Opérateur après tout autre opérateur standard utilisé dans la requête.
Conclusion
MongoDB a fréquemment mis à jour ses versions dans le passé, et la raison était d'améliorer les performances et l'efficacité de toute commande ou méthode MongoDB, ou opérateur. Dans MongoDB, le $ où l'opérateur peut être utilisé pour faire correspondre les champs en utilisant JS Expression ou Fonction JS. Dans ce guide détaillé, nous avons fourni l'utilisation du $ où l'opérateur à MongoDB. Après des recherches et une collecte de données détaillés, nous sommes arrivés au point que les alternatives de $ où l'opérateur doit être préféré, car le $ où l'opérateur recherche l'ensemble de la collection avant de vous donner la sortie.