Bagikan melalui


$toDouble

BERLAKU UNTUK: MongoDB vCore

Operator $toDouble mengonversi nilai yang ditentukan menjadi nilai Ganda.

Sintaksis

Sintaks untuk $toDouble operator adalah:

{ "$toDouble": <expression> }

Parameter-parameternya

Pengaturan Deskripsi
expression Nilai yang ditentukan untuk dikonversi menjadi nilai Ganda

Contoh

Pertimbangkan dokumen sampel ini dari koleksi penyimpanan di database StoreData.

{
    "_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
    "name": "First Up Consultants | Beverage Shop - Satterfieldmouth",
    "location": {
        "lat": -89.2384,
        "lon": -46.4012
    },
    "staff": {
        "totalStaff": {
            "fullTime": 8,
            "partTime": 20
        }
    },
    "sales": {
        "totalSales": 75670,
        "salesByCategory": [
            {
                "categoryName": "Wine Accessories",
                "totalSales": 34440
            },
            {
                "categoryName": "Bitters",
                "totalSales": 39496
            },
            {
                "categoryName": "Rum",
                "totalSales": 1734
            }
        ]
    },
    "promotionEvents": [
        {
            "eventName": "Unbeatable Bargain Bash",
            "promotionalDates": {
                "startDate": {
                    "Year": 2024,
                    "Month": 6,
                    "Day": 23
                },
                "endDate": {
                    "Year": 2024,
                    "Month": 7,
                    "Day": 2
                }
            },
            "discounts": [
                {
                    "categoryName": "Whiskey",
                    "discountPercentage": 7
                },
                {
                    "categoryName": "Bitters",
                    "discountPercentage": 15
                },
                {
                    "categoryName": "Brandy",
                    "discountPercentage": 8
                },
                {
                    "categoryName": "Sports Drinks",
                    "discountPercentage": 22
                },
                {
                    "categoryName": "Vodka",
                    "discountPercentage": 19
                }
            ]
        },
        {
            "eventName": "Steal of a Deal Days",
            "promotionalDates": {
                "startDate": {
                    "Year": 2024,
                    "Month": 9,
                    "Day": 21
                },
                "endDate": {
                    "Year": 2024,
                    "Month": 9,
                    "Day": 29
                }
            },
            "discounts": [
                {
                    "categoryName": "Organic Wine",
                    "discountPercentage": 19
                },
                {
                    "categoryName": "White Wine",
                    "discountPercentage": 20
                },
                {
                    "categoryName": "Sparkling Wine",
                    "discountPercentage": 19
                },
                {
                    "categoryName": "Whiskey",
                    "discountPercentage": 17
                },
                {
                    "categoryName": "Vodka",
                    "discountPercentage": 23
                }
            ]
        }
    ]
}

Contoh 1: Mengonversi nilai String menjadi nilai Ganda

String dapat dikonversi menjadi nilai Ganda jika sudah menjadi representasi string dari nilai Ganda.

Dalam kueri ini, string "72" dapat dikonversi ke nilai Ganda.

db.stores.aggregate([
{
    "$match": {
        "_id": "b0107631-9370-4acd-aafa-8ac3511e623d"
    }
},
{
    "$project": {
        "originalLatitude": "$location.lat",
        "latitudeAsDouble": {
            "$toDouble": {
                "$toString": "72"
            }
        }
    }
}])

Tabel ini menguraikan perilaku operator $toDouble yang diharapkan berdasarkan jenis data nilai input.

Tipe Nilai Perilaku/Keluaran
Nilai Boolean benar Keluaran -> 1
Nilai Boolean salah Keluaran -> 0
Nilai ganda. Misalnya, 72.0 Keluaran -> 72
Representasi string untuk suatu nilai numerik. Misalnya, "72" Keluaran -> 72
Nilai null Output -> nol