View a markdown version of this page

$ putaran - Amazon DocumentDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

$ putaran

Baru dari versi 8.0.1.

$roundOperator di Amazon DocumentDB membulatkan angka ke tempat desimal tertentu. Ketika suatu nilai jatuh tepat di tengah antara dua nilai terdekat di tempat itu, bul $round atkan ke digit genap terdekat. Misalnya, 2,5 putaran menjadi 2, dan 3,5 putaran menjadi 4.

Parameter

  • number: Ekspresi yang diselesaikan menjadi angka.

  • place: Opsional. Ekspresi integer antara -20 dan 100 yang menentukan jumlah tempat desimal untuk dibulatkan. Nilai negatif dibulatkan ke kiri desimal. Defaultnya 0.

Contoh (MongoDB Shell)

Contoh berikut menunjukkan cara menggunakan $round operator untuk membulatkan nilai numerik ke satu tempat desimal.

Pembulatan dengan nilai tempat positif

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

Contoh kueri

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

Keluaran

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

Membulatkan nilai setengah jalan ke digit genap terdekat

Ketika suatu nilai jatuh tepat di tengah antara dua nilai terdekat di tempat target, bulatkan $round ke digit genap terdekat daripada selalu membulatkan ke atas. Contoh berikut membulatkan nilai setengah menjadi bilangan bulat utuh.

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] } } } ]);

Keluaran

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

Karena 10.5 persis setengah jalan antara 10 dan11, itu dibulatkan ke nilai genap terdekat10. Demikian pula, 11.5 dan 12.5 keduanya membulatkan ke nilai genap terdekat12, dan mem 13.5 bulatkan ke14.

Pembulatan dengan nilai tempat negatif

Ketika place negatif, $round bulatkan ke kiri desimal. Contoh berikut membulatkan nilai menggunakan digit pertama di sebelah kiri desimal.

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] } } } ]);

Keluaran

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

Contoh kode

Untuk melihat contoh kode untuk menggunakan $round operator, pilih tab untuk bahasa yang ingin Anda gunakan:

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()