Bagikan melalui


$toInt

BERLAKU UNTUK: MongoDB vCore

Operator $toInt mengonversi nilai yang ditentukan menjadi nilai bilangan bulat.

Sintaksis

Sintaks untuk $toInt operator adalah:

{ "$toInt": <expression> }

Parameter-parameternya

Pengaturan Deskripsi
expression Nilai yang ditentukan untuk dikonversi menjadi nilai Bilangan Bulat

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 Ganda menjadi nilai Bilangan Bulat

Nilai Ganda dipotong dan dikembalikan sebagai nilai Bilangan Bulat

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

Contoh 2: Mengonversi nilai String menjadi nilai Bilangan Bulat

String dapat dikonversi menjadi nilai Bilangan Bulat jika sudah menjadi representasi string bilangan bulat.

Dalam kueri ini, string "72" dapat dikonversi menjadi nilai bilangan bulat.

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

Namun, kueri ini mengembalikan kesalahan karena string "72.0" bukan representasi string dari nilai bilangan bulat.

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

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

Tipe Nilai Perilaku/Hasil
Nilai Boolean benar Keluaran -> 1
Nilai tipe Boolean salah Output -> 0
Nilai ganda. Misalnya, 72.0 Output -> 72
Representasi string dari nilai bilangan bulat. Misalnya, "72" Keluaran -> 72
Representasi string dari nilai ganda. Misalnya, "72.0" Output -> Kesalahan
Nilai null Output -> null