Comment fonctionne l'opérateur $ ABS à MongoDB
L'opérateur $ ABS donne une sortie de la valeur absolue dans MongoDB. Maintenant, nous avons des exemples de cas suivants pour démontrer la fonction de l'opérateur $ ABS dans MongoDB. Nous travaillons avec la collection «StudentReport» où les documents suivants sont insérés qui montrent l'étudiant avec le rapport de résultat et les détails sur leur structure de frais. Les trois documents de la collection «StudentReport» sont insérés en utilisant la commande insertMany () de MongoDB.
db.Dirginal étudiant.insertmany ([
"_id": 1,
"Étudiant": "Emily",
"À mi-parcours": 300,
"Final-terminal": 450,
"Totalmarks": "1000",
"StudentFes": "AdmissionFees": 50000,
"Semestrefes": 30000
,
"_id": 2,
"Étudiant": "Jenny",
"À mi-parcours": 400,
"Final-terminal": 490,
"Totalmarks": "1000",
"StudentFes": "AdmissionFees": 60000,
"Semestrefes": 35000
,
"_id": 3,
"Étudiant": "Lara",
"À mi-parcours": 399,
"Final-terminal": 500,
"Totalmarks": "1000",
"StudentFes": "AdmissionFees": 70000,
"Semestrefes": 50000
])
Là, nous avons une sortie après avoir inséré les documents dans la collection «StudentReport». Maintenant, l'opérateur $ ABS peut être appliqué aux champs des documents en suivant la syntaxe de cet opérateur:
reconnue: vrai, insertEDIDS: '0': 1, '1': 2, '2': 3
Exemple 1: Utilisation de l'opérateur $ ABS
Nous utilisons ici l'opérateur $ ABS de MongoDB pour obtenir simplement la valeur absolue des champs fournis. La requête de base de l'opérateur $ ABS est donnée comme suit:
db.Dirginal étudiant.agrégat([
$ Project:
"À mi-parcours": $ abs: ["$ à mi-parcours"],
"Final-termmarks": $ ABS: ["$ final-termmarks"]
])
Ici, nous déployons d'abord la méthode agrégée. Ensuite, le projet $ est défini. Après cela, nous avons établi les champs «à mi-parcours» et «final-masse» au sein de l'opérateur de projet $. Chaque champ est affecté à l'expression où l'opérateur $ ABS est utilisé. Le «mi-termes» détient l'expression «$ ABS: [« $ à mi-termes »] qui obtient la valeur absolue des marques à mi-parcours des étudiants de l'opérateur $ ABS. De même, nous appliquons l'opérateur $ ABS au deuxième champ qui est des «points finaux». Ces deux champs sont définis avec l'opérateur «$ ABS» séparé aux valeurs absolues individuelles qui sont obtenues.
Les marques à mi-parcours absolues et les marques finales sont retournées par l'opérateur MongoDB $ ABS. Notez que la valeur absolue de l'opérateur $ ABS supprime le signe négatif si un champ contient le signe négatif dans le document.
[
_id: 1, «à mi-parcours»: 300, «final à terme»: 450,
_id: 2, «à mi-parcours»: 400, «final-terminal»: 490,
_id: 3, «à mi-parcours»: 399, «final-terminal»: 500
]]
Exemple 2: Utilisation de l'opérateur $ ABS avec l'opérateur $ ADD
L'opérateur $ ABS peut également être utilisé avec un autre opérateur de MongoDB. Nous utilisons l'opérateur $ ADD au sein de l'opérateur $ ABS pour ajouter les valeurs ensemble. Nous pouvons appliquer l'opérateur arithmétique à l'intérieur de l'opérateur $ ABS car il n'accepte que la valeur numérique. La commande de l'opérateur $ ABS avec l'opérateur $ ADD à des fins supplémentaires est affichée comme suit:
db.Dirginal étudiant.agrégat ([$ correspond: étudiant: "Emily",
$ Project:
Marques: $ ABS:
$ add: ["$ mid-termmarks", "$ final-termmarks"]])
Ici, nous appelons d'abord l'opérateur de projet $ qui est spécifié avec le champ «Marques». Le champ «Marques» est attribué avec les marques totales qui sont retournées par l'opérateur $ ABS. Ensuite, nous fournissons l'expression de l'opérateur $ ABS - $ ABS: $ add: [«$ mid-termmarks», «$ final-termmarks» - car nous insérons l'opérateur «$ add» qui est spécifié avec le «$ mid -Clactions »et« $ final-terminal »champs. L'opérateur $ ADD ajoute d'abord les valeurs de ces champs définis. Ensuite, les résultats supplémentaires sont attribués à l'opérateur $ ABS. L'opérateur $ ABS génère la valeur absolue dans la sortie.
Le résultat de l'opérateur $ ABS par l'opération $ ADD est récupéré ici:
[_id: 1, marques: 750]
Exemple 3: Utilisation de l'opérateur $ ABS avec l'opérateur de soustraire $
Nous pouvons utiliser l'opérateur $ ADD dans l'opérateur $ ABS pour l'opération d'addition. Nous pouvons également utiliser l'opérateur de soustraire $ pour évaluer la différence de magnitude entre les champs spécifiés des documents. Au lieu de l'opérateur $ ADD, nous appliquons l'opérateur de soustraire $ qui peut être vu dans ce qui suit:
db.Dirginal étudiant.agrégat([
$ correspond: _id: 1,
$ Project:
"À mi-parcours": 1,
"Mercus final": 1,
résultat:
$ ABS: $ soustrait: ["$ à mi-parcours", "$ final-termmarks"]
]]
)
Ici, nous correspondons d'abord au document en utilisant l'opérateur $ Match. L'opérateur $ Match recherche le document dont le champ «_id» est «1». Ensuite, nous définissons l'opérateur de projet $ où les champs «à mi-parcours» et «final à terme» sont attribués avec un nombre «1» qui indique que ces champs doivent être inclus dans la sortie. Après cela, nous avons un champ «Résultat» qui attribue la valeur de retour de l'opérateur $ ABS. L'opérateur $ ABS est appliqué lorsque l'opérateur de soustraire $ est réglé pour obtenir la différence par rapport aux marques qui sont fournies aux «marques à mi-parcours» et aux «paramètres finaux».
La commande de l'opérateur $ ABS précédent du document «_id: 1» a la sortie suivante:
[
_id: 1, «à mi-parcours»: 300, «final-terminal»: 450, résultat: 150
]]
Exemple 4: Utilisation de l'opérateur $ ABS dans le document intégré
Ensuite, nous définissons l'opérateur $ ABS pour le document intégré qui fonctionne de la même manière que l'exemple précédent. Prenons une autre requête de l'opérateur $ ABS dans la démonstration suivante:
db.Dirginal étudiant.agrégat([
$ correspond: étudiant: "Lara",
$ Project:
Étudiant: 1,
StudentFees: $ abs: $ add: [
"$ StudentFes.AdmissionFees "," $ StudentFes.SemeterFees "]
])
Ici, nous correspondons au document où le champ «Student» a la valeur «Lara». Ensuite, nous incluons le champ «Student» dans la sortie en l'attribuant avec une valeur de «1» dans le projet $. Le projet $ est défini avec l'opérateur $ ABS sur le champ «StudentFes» intégré. L'opérateur $ ABS donne le montant du total des frais en ajoutant les valeurs des champs intégrés - «AdmissionFees» et «SemeterFees».
Voici les frais totaux que nous obtenons de l'opérateur $ ABS:
[_id: 3, Student: 'Lara', StudentFees: 120000]
Exemple 5: Utilisation de l'opérateur $ ABS pour les valeurs NAN
Lorsque la valeur fournie à l'opérateur $ n'est pas un type de données numérique ou une valeur non définie, la valeur «nan» est augmentée. Nous avons une question d'exemple donnée où l'opérateur $ ABS génère la valeur résultante comme «NAN»:
db.Dirginal étudiant.agrégat([
$ correspond: _id: 3,
$ Project:
"_id": 1,
"À mi-parcours": $ abs: ["$ à mi-parcours"],
"Final-terminal": $ abs: [1 * "s"]
])
Ici, nous recherchons le document qui contient la valeur «ID» «3». Après la recherche, nous déployons l'opérateur de projet $ où les «mi-parcours» sont fournis avec l'opérateur $ ABS pour donner la valeur absolue. Ensuite, nous avons réglé l'opérateur $ ABS dans les «paramètres finaux» où l'opérateur $ ABS fonctionne sur la valeur numérique de «1» qui est multiplié par la valeur de chaîne de «S».
Le résultat affiche la valeur absolue du champ «à mi-parcours» et de la valeur NAN pour les «points finaux».
[_id: 3, «à mi-parcours»: 399, «final-termmarks»: nan]
Conclusion
L'article concerne le fonctionnement de l'opérateur $ ABS à MongoDB. Nous pouvons déterminer la valeur absolue grâce à l'utilisation de l'opérateur $ ABS. L'opérateur $ ABS ainsi que son autre exemple de mise en œuvre sont démontrés dans cet article. Nous avons utilisé l'opérateur $ ABS avec les champs intégrés du document. Ensuite, nous avons combiné les différents opérateurs arithmétiques au sein de l'opérateur $ ABS. De plus, l'opérateur $ ABS prend les valeurs d'argument NAN qui ont renvoyé le résultat NAN dans la sortie.