$toDecimal - Amazon DocumentDB
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

$toDecimal

New from version 4.0

The $toDecimal operator in Amazon DocumentDB is used to convert a value to the Decimal128 data type. This is useful when you need to perform precise decimal arithmetic or handle large decimal values that cannot be accurately represented using the Double data type.

Parameters

  • expression: The expression to convert to the Decimal128 data type.

Example (MongoDB Shell)

This example demonstrates how to use the $toDecimal operator to convert a string value to a Decimal128 data type.

Create sample documents

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

Query example

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

Output

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

Code examples

To view a code example for using the $toDecimal command, choose the tab for the language that you want to use:

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