MONGODB $ CEIL ET $ OPÉRATEURS DE FLANC

MONGODB $ CEIL ET $ OPÉRATEURS DE FLANC

Les $ ceil et le $ plancher sont des opérateurs d'expression arithmétique qui sont disponibles dans MongoDB pour l'utilisation aux différentes étapes du pipeline d'agrégation. L'opérateur $ ceil est utilisé pour récupérer la valeur entière la plus basse qui est supérieure ou égale à la valeur entière donnée. Tandis que l'opérateur de plancher $ du MongoDB fonctionne pour obtenir l'entier le plus élevé qui est inférieur ou égal à la valeur donnée. Le MongoDB $ ceil et les opérateurs de plancher $ acceptent l'expression valide qui évalue à une valeur numérique.

Comment utiliser les opérateurs MongoDB $ ceil et $ Floor

Les opérateurs de planches et de $ $ sont appliqués aux champs des documents contenant des valeurs numériques. Nous insérons donc les documents avec les différents domaines de la collection «examen» de MongoDB. Ici, nous utilisons la commande insertMany pour ajouter le document immédiatement. La représentation de l'insertion du document dans la collection «ExamensReport» est la suivante:

db.Examen.insertmany ([

"_id": 1,
"Étudiant": "Tan" ,
"Département": "It",
"pourcentage": 98.99,
"CGPA": 3.9,
"Marks": "Intermarks": 10.5,
"Externalmarks": 11.75
,

"_id": 2,
"Student": "Kim" ,
"Département": "CS",
"pourcentage": 88.45,
"CGPA": 3.68,
"Marks": "Intermarks": 9.5,
"Externalmarks": 7.25
,

"_id": 3,
"Étudiant": "Jenny" ,
"Département": "CS",
"pourcentage": 95.72,
"CGPA": 3.84,
"Marks": "Intermarks": 8.5,
"Externalmarks": 9.75
,

"_id": 4,
"Étudiant": "Harry" ,
"Département": "SE",
"pourcentage": 84.23,
"CGPA": 3.50,
"Marks": "Intermarks": 5.65,
"Externalmarks": 7.28
,

"_id": 5,
"Étudiant": "Charlie" ,
"Département": "It",
"pourcentage": 81.3,
"CGPA": null,
"Marks": "Intermarks": 4.5,
"Externalmarks": 6.9

])

Lorsque les documents sont insérés sans aucun dépannage, la sortie générée par la coque MongoDB ressemble à ceci:


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

Exemple 1: Utilisation de l'opérateur $ ceil à MongoDB

L'opérateur $ ceil est utilisé ici pour obtenir le plafond du champ fourni à partir du document de la collection «examen». Nous utilisons la fonction agrégate () où nous utilisons l'opérateur de projet $. Nous spécifions le champ «étudiant» avec la valeur de «1» qui doit être incluse avec les valeurs de plafond. L'opérateur de projet $ est ensuite défini avec l'attribut «plafond%». L'attribut «Le plafond%» est défini avec la condition «$ ceil:« $ pourcentage ». L'opérateur «$ ceil» est utilisé ici qui prend le champ «pourcentage de $» pour générer la valeur du plafond.

db.Examen.agrégat(
[

$ Project:

"Student": 1,
"plafond%": $ ceil: "$ pourcentage"


]]
)

La sortie avec le nouveau champ «% de plafond» où les valeurs de plafond du pourcentage de champ à partir de l'opérateur $ ceil sont affichées. Toutes les valeurs de plafond sont les plus petits nombres qui sont supérieurs ou égaux aux pourcentages.

[
_id: 1, étudiant: 'tan', 'plafond%': 99,
_id: 2, étudiant: 'Kim', 'plafond%': 89,
_id: 3, étudiant: 'Jenny', 'plafond%': 96,
_id: 4, étudiant: 'Harry', 'plafond%': 85,
_id: 5, étudiant: 'Charlie', 'plafond%': 82
]]

Exemple 2: Utilisation de l'opérateur $ ceil pour le document intégré à MongoDB

Maintenant, nous déployons l'opérateur $ ceil pour trouver la plus petite valeur de plafond numérique qui est supérieure ou égale à la valeur du champ imbriqué «Intermarks» du champ «Marques». Tout d'abord, nous spécifions l'opérateur de projet $ à l'intérieur de la commande globale. Ensuite, nous avons réglé la valeur de «1» pour les «marques intégrées.champ intermmarks à afficher avec les résultats. Après cela, nous avons un attribut «de plafonnier» qui est entré avec l'opérateur $ ceil comme «$ ceil:« $ marks.Intermarks ”". Notez que l'opérateur $ ceil est affecté avec les «marques intégrées.Champ intermmarks »pour récupérer la valeur du plafond de ce champ.

db.Examen.agrégat([
$ Project:
"Des marques.Intermarks ": 1,
PLAFICATIONS: $ CEIL: "$ marks.Intermarks "])

Les résultats montrent où nous avons les valeurs de champ «Intermarks» intégrées et les valeurs de plafond sont obtenues. Les valeurs de plafond obtenues sont toutes arrondies des valeurs réelles du champ spécifié.

[
_id: 1, Marks: Intermarks: 10.5, plafonniers: 11,
_id: 2, marques: Intermarks: 9.5, plafonniers: 10,
_id: 3, marques: Intermarks: 8.5, Plaigingmarks: 9,
_id: 4, marques: Intermarks: 5.65, plafonniers: 6,
_id: 5, marques: Intermarks: 4.5, Plaigingmarks: 5
]]

Exemple 3: Utilisation de l'opérateur $ ceil pour le champ de document manquant dans MongoDB

Lorsque l'opérateur $ ceil de MongoDB rencontre le champ de document de non-existence, il donne la valeur nul. Considérez la requête où nous utilisons l'opérateur $ ceil pour obtenir la plus petite valeur entière qui est supérieure ou égale au champ qui n'existe pas dans le document. Pour cela, nous utilisons l'opérateur $ Match où l'expression «« département »:« it »» est donnée pour correspondre à ce document particulier. Ensuite, nous appelons l'opérateur de projet $ qui est entré avec le champ «Student» avec l'integer «1» qui indique que seul le champ «Student» apparaît dans la sortie. Ensuite, nous créons l'attribut «de plafonnier» pour l'opérateur de $ ceil à utiliser. Nous fournissons le champ «$ mobile_number» à l'opérateur $ ceil qui est le champ manquant des documents de collecte «examens».

db.Examen.agrégat(
[
$ correspond: "département": "it",

$ Project:

"Student": 1,
plafonniermobile: $ ceil: "$ mobile_number"


]]
)

Là, nous pouvons voir que la valeur nul est obtenue par rapport à l'attribut «CeilingMobile» puisque le champ non existant est réglé sur l'opérateur $ ceil.

[
_id: 1, étudiant: 'tan', plafonniermobile: null,
_id: 5, étudiant: «Charlie», plafonnier: null
]]

Exemple 4: Utilisation de l'opérateur de plancher $ à MongoDB

Ici, nous commençons par un autre opérateur de plancher $ MongoDB. Nous obtenons le plus grand nombre de l'opérateur de plancher $ qui est inférieur ou égal à l'entier donné. Donc, nous correspondons au document «département» dont la valeur est «CS» qui est définie comme condition à l'opérateur de Match $. Après cela, nous projetons le champ «CGPA» et l'attribut «FloorCGPA» au sein de l'opérateur de projet $. Le "FloorCGPA" a la déclaration "$ floor:" $ CGPA "" où l'opérateur de plancher $ est utilisé pour obtenir la valeur la plus importante qui est inférieure ou égale aux valeurs du champ "$ CGPA".

db.Examen.agrégat([
$ correspond: département: "cs",
$ Project:
Cgpa: 1,
FloorCGPA: $ Floor: "$ CGPA"])

L'opérateur de plancher $ renvoie les valeurs suivantes du champ «CGPA». Les «CGPA» sont les valeurs réelles et le «FloorCGPA» sont les valeurs de plancher.

[
_id: 2, cgpa: 3.68, FloorCGPA: 3,
_id: 3, cgpa: 3.84, FloorCGPA: 3
]]

Exemple 5: Utilisation de l'opérateur de plancher $ pour la valeur nulle dans MongoDB

Les $ Floor et les opérateurs de plateaux $ renvoient tous les deux lorsque le champ contient la valeur nulle pour obtenir les valeurs du plaque et du sol. Ici, nous prenons un exemple avec l'opérateur de Floor $. Nous spécifions le document «« _id »: 5» sur l'opérateur $ Match dont le champ «CGPA» a la valeur nul. Ensuite, nous passons ce champ «CGPA» à l'opérateur de plancher $ qui est placé dans l'attribut «FloorValue» de l'opérateur du projet $. Ici, l'opérateur de plancher $ renvoie simplement la sortie nul parce que la valeur «CGPA» est «nul».

db.Examen.agrégat(
[
$ correspond: "_id": 5,

$ Project:

"Student": 1,
"CGPA": 1,
FloorValue: $ plancher: "$ cgpa"


]]
)

Les résultats suivants sont générés lorsque le champ «CGPA» a une valeur nulle, c'est pourquoi la valeur du sol est nul contre le champ «FloorValue».

[_id: 5, cgpa: null, plancher de plancher: null]

Exemple 6: Utilisation de l'opérateur de plancher $ pour l'opération NAN à MongoDB

L'opérateur de plancher $ ainsi que l'opérateur $ ceil sort nan si la valeur de l'argument est nan. Ici, nous avons une implémentation de cette déclaration. Nous trouvons le document qui stocke la valeur du champ «étudiant» en tant que «Harry». Ensuite, nous invoquons l'opérateur de plancher $ à l'intérieur de l'opérateur $ Project et de l'attribut «Floor» qui est spécifié avec l'expression «$ Floor:« $ CGPA »* 1».

db.Examen.agrégat(
[
$ correspond: "Student": "Harry",
$ Project:
Floor: $ Floor: "$ CGPA" * 1


]]
)

L'attribut «Floor» a la valeur «nan» renvoyée de l'opérateur de plancher $.

[_id: 4, plancher: nan]

Conclusion

Cet article concerne la fonctionnalité du MongoDB $ ceil et les opérateurs de plancher. Nous avons d'abord discuté de l'exemple de base des opérateurs de planches et de $ de $ $ et $. Après cela, nous avons pris les différents scénarios pour les opérateurs de $ CEIL et $ Floor. Tout d'abord, nous avons utilisé l'opérateur $ ceil sur le document intégré, puis appliqué l'opérateur $ ceil sur le terrain qui ne fait partie d'aucun document. Ensuite, nous avons les cas d'opérateur de plancher $ à partir desquels nous avons récupéré les valeurs nul et nan en raison des expressions spécifiées.