mongodb $ anyelementTrue $ allementstrue

mongodb $ anyelementTrue $ allementstrue

Les $ anyElementTrue et les $ AgelElementStrue sont les opérateurs de pipeline d'agrégation de MongoDB. L'opérateur MongoDB $ anyelementTrue n'a besoin que d'une expression comme paramètre comme un ensemble qui donne vrai si l'un des éléments fournis à l'ensemble évalue pour être vrai. Il en va de même avec l'opérateur AllementSTrue $. Si l'un des éléments de la table. De plus, l'opérateur $ anyElementTrue et $ AllementsTrue analyse tous les autres éléments comme vrais, y compris les tableaux et les valeurs entières non nulles.

Comment pouvons-nous utiliser le $ anyElementTrue et l'opérateur d'allementsTrue $ à MongoDB?

L'utilisation du $ anyElementTrue et de l'opérateur d'allelementSTrue $ est démontrée ici avec l'exemple de l'implémentation dans le shell MongoDB. Tout d'abord, nous sommes tenus de définir une collection qui contient des documents pour la mise en œuvre de l'opérateur de l'opérateur AllementStrue $ AnyElementTrue $ et $. Ici, nous avons représenté la collection MongoDB «blogpost» qui va être utilisée dans cet article. La collection «Blogpost» contient plusieurs documents qui sont d'abord interrogés avec la méthode insertmany (). Avec la méthode insertmany (), nous avons inséré le document suivant où la colonne «_id» indique le numéro de série et le «commentaires» est la colonne de tableau spécifiée avec les différents éléments.

db.Blog.insertmany ([

"_id": 1,
"Commentaires": [vrai, faux]
,

"_id": 2,
"Commentaires": [1, vrai, 5]
,

"_id": 3,
"Commentaires": [null, faux, indéfini, 0]
,

"_id": 4,
"Commentaires": [true, [true]]
,

"_id": 5,
"Commentaires" : []

])

La sortie de confirmation a ajouté avec succès les documents de la collection MongoDB «BlogPost» s'affiche comme suit:


Reconnu: vrai,
insertEDID: '0': 1, '1': 2, '2': 3, '3': 4, '4': 5

Exemple n ° 1: Utilisation de l'opérateur $ anyelementTrue à MongoDB

Ici, nous avons utilisé l'opérateur $ anyElementTrue de MongoDB qui est défini avec une seule expression d'argument. Nous avons la méthode agrégate () où l'opérateur de projet $ est défini. L'opérateur de projet $ est en outre défini avec le terrain «IsanyElementTrue» qui utilise l'opérateur de AnyElementTrue $. L'opérateur $ anyElementTrue est appliqué avec l'expression unique «[« $ commentaires »]». L'opérateur $ anyElementTrue détermine la valeur du champ de tableau «$ commentaires» qui évalue les vrais résultats.

db.Blog.agrégat([
$ Project: "Commentaires": 1, IsanyElementTrue: $ anyelementTrue: ["$ commentaires"]
]));

L'opérateur $ anyElementTrue renvoie le résultat suivant après avoir exécuté la requête ci-dessus. Il a répertorié tous les résultats pour évaluer les vraies valeurs par rapport à chaque document.

[
_id: 1, commentaires: [true, false], IsanyElementTrue: true,
_id: 2, Commentaires: [1, true, 5], IsanyElementTrue: true,
_id: 3, commentaires: [null, false, null, 0], iSanyElementTrue: false,
_id: 4, commentaires: [true, [true]], IsanyElementTrue: true,
_id: 5, commentaires: [], IsanyElementTrue: False
]]

Exemple n ° 2: Utilisation de l'opérateur $ anyelementTrue dans MongoDB où aucune valeur n'est vraie

Lorsque les documents ne contiennent aucune valeur réelle dans le champ du tableau, l'opérateur $ anyElementTrue évalue la valeur fausse. Prévoyons l'exemple de mise en œuvre de l'opérateur $ anyElementTrue où il n'y a pas de véritable élément dans le tableau. Premièrement, nous avons une méthode agrégate () où l'opérateur de correspondance $ est défini avec la condition «_id: 3» à correspondre. Ensuite, nous avons défini la commande $ Project où le champ «_ID» est exclu de la sortie car la valeur qui lui est attribuée est «0». Ensuite, nous avons défini un opérateur $ anyElementTrue à l'intérieur de la variable de l'opérateur de projet $ «IsanyElementTrue». Nous avons entré l'expression «[$ commentaires]» à l'opérateur $ anyElementTrue qui évaluera les résultats attendus du document spécifié.

db.Blog.agrégat(
[
$ correspond: _id: 3,
$ Project:
_id: 0,
IsanyElementTrue: $ anyelementTrue: ["$ commentaires"]

]]
)

Les résultats ont montré la fausse valeur dans la sortie parce que le document «_id: 3» contenait les éléments du tableau «[null, false, non défini, 0]» où aucune valeur n'est vraie. L'opérateur $ anyElementTrue évalue toujours à False lorsque les valeurs du tableau sont définies comme fausses, nulles, non définies ou 0.

[IsanyElementTrue: false]

Exemple # 3: Utilisation de l'opérateur $ anyelementTrue dans MongoDB pour le tableau imbriqué

Le tableau est vérifié au niveau supérieur par l'opérateur $ anyElementTrue. Par conséquent, l'opération $ AnyelementTrue ne descend pas les tableaux imbriqués. La valeur du tableau imbriqué soit vrai ou false n'est pas affectée par l'opérateur $ anyElementTrue. Le tableau imbriqué est considéré comme l'élément et $ anyElementTrue indique qu'il est vrai dans ce cas. Considérez simplement la requête de l'opérateur $ anyElementTrue pour le document qui a le tableau imbriqué. Nous avons donné une condition «_id: $ in: [4]» à un opérateur de correspondance $. Lorsque le document dont «_id» est égal à «4» est trouvé, l'opérateur $ anyElementTrue déterminera si le champ «$ commentaires» évalue la valeur «true».

db.Blog.agrégat(
[
$ correspond: _id: $ in: [4],
$ Project:
IsanyElementTrue: $ anyelementTrue: ["$ commentaires"]

]]
)

Pour la requête susmentionnée, les résultats sont indiqués.

[_id: 4, IsanyElementTrue: true]

Exemple n ° 4: Utilisation de l'opérateur AllementStrue $ dans MongoDB

Maintenant, nous avons un exemple d'un autre opérateur de MongoDB «$ allelementStrue». $ l'opérateur d'allelementStrue donne une véritable valeur de sortie lorsqu'il n'y a pas de fausses valeurs à l'intérieur du tableau du document. Nous pouvons voir que la requête du $ AgelElementStrue est presque la même que pour le $ anyElementTrue. Ici, nous avons spécifié que l'opérateur AllementStrue $ est la variable «IsallelementTrue» de l'opérateur de projet $. Ensuite, l'opérateur «$ allelementStrue» contenait l'expression où le champ «$ commentaires» est défini pour évaluer les résultats.

db.Blog.agrégat([
$ Project: "Commentaires": 1, "_ id": 0, isallementTrue: $ alleMelementStrue: ["$ commentaires"]
]));

La sortie est répertoriée avec les valeurs de champ «Commentaires» du tableau et les résultats contre chaque document renvoyé de l'opérateur AllementStrue $. Nous pouvons généraliser que la vraie valeur est obtenue uniquement à partir des documents qui n'ont pas de fausses valeurs.

[
Commentaires: [true, false], iSelElementTrue: false,
Commentaires: [1, true, 5], IsallelementTrue: true,
Commentaires: [null, false, null, 0], isallementTrue: false,
Commentaires: [true, [true]], iSelElementTrue: true,
Commentaires: [], IsallelementTrue: true
]]

Exemple n ° 5: L'utilisation de l'opérateur d'allelementStrue $ à MongoDB récupère une fausse valeur

Le $ AgelElementStrue renvoie la fausse valeur lorsque nous avons au moins une fausse valeur dans le tableau. Considérez la requête de l'opérateur d'allelementStrue $ qui renvoie la fausse valeur. Ici, nous avons un opérateur de correspondance $ défini avec l'expression «_id: 1» pour correspondre au document. Après cela, nous avons donné un opérateur de projet $ où l'opérateur $ AgelementStrue est appelé à l'opération sur l'expression «[« $ commentaires »]».

db.Blog.agrégat([
$ correspond: _id: 1,
$ Project:
_id: 0,
IsalleMelementTrue: $ ALLELEMENTSTRUE: ["$ commentaires"]
]
)

Nous avons la fausse sortie de la requête ci-dessus car il y a une vraie valeur de tableau et une fausse valeur dans le tableau.

[isallelementTrue: false]

Exemple n ° 6: Utilisation de l'opérateur AllementStrue $ à MongoDB sur le tableau vide

L'opérateur AlleLelementStrue $ donne la vraie valeur dans le cas lorsque le tableau n'a été rempli d'aucun élément. Ici, nous avons fourni le document dont le champ du tableau est vide. Ensuite, nous avons appliqué l'opérateur AllementStrue $ qui prend le terrain «commentaires» de ce document pour évaluer le résultat attendu.

db.Blog.agrégat(
[
$ correspond: _id: 5,
$ Project:
IsalleMelementTrue: $ ALLELEMENTSTRUE: ["$ commentaires"]

]]
)

La sortie génère la valeur réelle car le document correspondant contient un tableau vide.

[_id: 5, isallelementTrue: true]

Conclusion

Les opérateurs MongoDB $ AnyelementTrue et $ ALELElementSTrue sont discutés dans l'article. Nous avons exploré les opérateurs $ anyElementTrue et $ allementStrue avec les cas de base et différents. Premièrement, nous avons expliqué l'opérateur de l'allelementStrue $ avec le cas lorsque le tableau n'est pas spécifié avec la valeur réelle. Ensuite, nous avons pris une affaire de l'opérateur $ anyElementTrue effectuant sur le tableau imbriqué. Après cela, nous avons $ allementStrue où nous discutons pour la première fois lorsque le faux est obtenu à partir de cet opérateur. Deuxièmement, nous avons les résultats de l'opérateur AllementTrue $ appliqué sur le tableau vide.