$toDecimal - Amazon DocumentDB

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

$toDecimal

Baru dari versi 4.0

$toDecimalOperator di Amazon DocumentDB digunakan untuk mengonversi nilai ke tipe data Decimal128. Ini berguna ketika Anda perlu melakukan aritmatika desimal yang tepat atau menangani nilai desimal besar yang tidak dapat direpresentasikan secara akurat menggunakan tipe data ganda.

Parameter

  • expression: Ekspresi untuk mengkonversi ke tipe data Decimal128.

Contoh (MongoDB Shell)

Contoh ini menunjukkan bagaimana menggunakan $toDecimal operator untuk mengkonversi nilai string ke tipe data Decimal128.

Buat dokumen sampel

db.numbers.insertOne({ _id: 1, value: "3.14" }); db.numbers.insertOne({ _id: 2, value: "2.71" });

Contoh kueri

db.numbers.aggregate([ { $project: { _id: 1, decimalValue: { $toDecimal: "$value" } }} ])

Keluaran

[ { "_id" : 1, "decimalValue" : Decimal128("3.14") }, { "_id" : 2, "decimalValue" : Decimal128("2.71") } ]

Contoh kode

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

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('numbers'); const result = await collection.aggregate([ { $project: { _id: 1, decimalValue: { $toDecimal: "$value" } }} ]).toArray(); console.log(result); 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') db = client.test collection = db.numbers result = list(collection.aggregate([ {'$project': { '_id': 1, 'decimalValue': {'$toDecimal': '$value'} }} ])) print(result) client.close() example()