View a markdown version of this page

$ rond - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$ rond

Nouveau depuis la version 8.0.1.

Dans Amazon DocumentDB, $round l'opérateur arrondit un nombre à la décimale spécifiée. Lorsqu'une valeur se situe exactement à mi-chemin entre les deux valeurs les plus proches à cet endroit, $round arrondit au chiffre pair le plus proche. Par exemple, 2,5 tours contre 2 et 3,5 tours contre 4.

Paramètres

  • number: expression qui se résout en un nombre.

  • place: Facultatif. Expression entière comprise entre -20 et 100 qui spécifie le nombre de décimales à arrondir. Une valeur négative est arrondie à gauche de la décimale. La valeur par défaut est 0.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$roundopérateur pour arrondir des valeurs numériques à une décimale.

Arrondir avec une valeur de position positive

db.measurements.insertMany([ {_id: 1, value: 3.456}, {_id: 2, value: 7.891}, {_id: 3, value: 12.345} ]);

Exemple de requête

db.measurements.aggregate([ { $project: { rounded: { $round: ["$value", 1] } } } ]);

Sortie

[ {_id: 1, rounded: 3.5}, {_id: 2, rounded: 7.9}, {_id: 3, rounded: 12.3} ]

Arrondir les valeurs à mi-chemin au chiffre pair le plus proche

Lorsqu'une valeur se situe exactement à mi-chemin entre les deux valeurs les plus proches à l'endroit cible, $round arrondissez au chiffre pair le plus proche au lieu de toujours arrondir. L'exemple suivant arrondit les valeurs intermédiaires à des entiers entiers.

db.halfway.insertMany([ {_id: 1, value: 10.5}, {_id: 2, value: 11.5}, {_id: 3, value: 12.5}, {_id: 4, value: 13.5} ]);
db.halfway.aggregate([ { $project: { rounded: { $round: ["$value", 0] } } } ]);

Sortie

[ {_id: 1, rounded: 10}, {_id: 2, rounded: 12}, {_id: 3, rounded: 12}, {_id: 4, rounded: 14} ]

Parce que 10.5 c'est exactement à mi-chemin entre 10 et11, il arrondit à la valeur paire la plus proche10. De même, 11.5 les 12.5 deux arrondissent à la valeur paire la 12 plus proche et 13.5 arrondissent à14.

Arrondir avec une valeur de position négative

Quand place c'est négatif, $round arrondit à gauche de la décimale. L'exemple suivant arrondit les valeurs en utilisant le premier chiffre à gauche de la décimale.

db.samples.insertMany([ {_id: 1, value: 19.25}, {_id: 2, value: 28.73}, {_id: 3, value: 34.32} ]);
db.samples.aggregate([ { $project: { rounded: { $round: ["$value", -1] } } } ]);

Sortie

[ {_id: 1, rounded: 20}, {_id: 2, rounded: 30}, {_id: 3, rounded: 30} ]

Exemples de code

Pour afficher un exemple de code d'utilisation de l'$roundopérateur, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = new MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); try { await client.connect(); const db = client.db('test'); const collection = db.collection('measurements'); const result = await collection.aggregate([ { $project: { rounded: { $round: ["$value", 1] } } } ]).toArray(); console.log(result); } finally { await client.close(); } } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') try: db = client['test'] collection = db['measurements'] result = list(collection.aggregate([ {'$project': {'rounded': {'$round': ['$value', 1]}}} ])) print(result) finally: client.close() example()