기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
$toDouble
버전 4.0의 새로운 기능
Amazon DocumentDB의 $toDouble 연산자는 값을 이중 정밀도 64비트 부동 소수점 숫자로 변환하는 데 사용됩니다. 이는 원래 숫자 형식이 아닌 값에 대해 산술 연산을 수행해야 할 때 유용할 수 있습니다.
파라미터
<expression>: 이중 값으로 변환할 표현식입니다. 숫자, 문자열 또는 부울 값으로 확인되는 유효한 표현식일 수 있습니다.
예제(MongoDB 쉘)
이 예제에서는 수학 계산을 수행할 목적으로 $toDouble 연산자를 사용하여 문자열 값을 숫자 값으로 변환하는 방법을 보여줍니다.
샘플 문서 생성
db.numbers.insertMany([
{ _id: 1, value: "10.5" },
{ _id: 2, value: "20.25" },
{ _id: 3, value: "7" }
])
쿼리 예제
db.numbers.aggregate([
{
$project: {
_id: 1,
value: 1,
double_value: { $toDouble: "$value" },
double_plus_five: { $add: [{ $toDouble: "$value" }, 5] }
}
}
])
출력
[
{ "_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 }
]
코드 예제
$toDouble 명령을 사용하기 위한 코드 예제를 보려면 사용하려는 언어의 탭을 선택합니다.
- 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()