$toDouble - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

$toDouble

Novo a partir da versão 4.0

O $toDouble operador no Amazon DocumentDB é usado para converter um valor em um número de ponto flutuante de 64 bits de precisão dupla. Isso pode ser útil quando você precisa realizar operações aritméticas em valores que não estão originalmente em um formato numérico.

Parâmetros

<expression>: a expressão a ser convertida em um valor duplo. Isso pode ser qualquer expressão válida que seja resolvida em um valor numérico, de string ou booleano.

Exemplo (MongoDB Shell)

Este exemplo demonstra como usar o $toDouble operador para converter um valor de string em um valor numérico com a finalidade de realizar um cálculo matemático.

Crie documentos de amostra

db.numbers.insertMany([ { _id: 1, value: "10.5" }, { _id: 2, value: "20.25" }, { _id: 3, value: "7" } ])

Exemplo de consulta

db.numbers.aggregate([ { $project: { _id: 1, value: 1, double_value: { $toDouble: "$value" }, double_plus_five: { $add: [{ $toDouble: "$value" }, 5] } } } ])

Saída

[ { "_id" : 1, "value" : "10.5", "double_value" : 10.5, "double_plus_five" : 15.5 }, { "_id" : 2, "value" : "20.25", "double_value" : 20.25, "double_plus_five" : 25.25 }, { "_id" : 3, "value" : "7", "double_value" : 7.0, "double_plus_five" : 12.0 } ]

Exemplos de código

Para ver um exemplo de código para usar o $toDouble comando, escolha a guia do idioma que você deseja usar:

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, value: 1, double_value: { $toDouble: "$value" }, double_plus_five: { $add: [{ $toDouble: "$value" }, 5] } } } ]).toArray(); console.log(result); 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') db = client['test'] collection = db['numbers'] result = list(collection.aggregate([ { '$project': { '_id': 1, 'value': 1, 'double_value': { '$toDouble': '$value' }, 'double_plus_five': { '$add': [{ '$toDouble': '$value' }, 5] } } } ])) print(result) client.close() example()