Bagikan melalui


$toLong

BERLAKU UNTUK: MongoDB vCore

Operator $toLong mengonversi nilai yang ditentukan menjadi nilai Panjang.

Sintaksis

Sintaks untuk $toLong operator adalah:

{ "$toLong": <expression> }

Parameter-parameternya

Pengaturan Deskripsi
expression Nilai yang ditentukan untuk dikonversi menjadi nilai panjang

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 Panjang

Nilai Ganda dipotong dan dikembalikan sebagai nilai Panjang

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

Contoh 2: Mengonversi nilai String menjadi nilai Panjang

String dapat dikonversi menjadi nilai Long jika sudah berupa representasi string dari nilai Long.

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

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

Kedua kueri mengembalikan hasil berikut

{
    "_id": "b0107631-9370-4acd-aafa-8ac3511e623d",
    "originalLatitude": 72.8377,
    "latitudeAsLong": Long('72')
}

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

Tipe Nilai Perilaku/Keluaran
Nilai Boolean benar Output -> Long("1")
Nilai Boolean salah Output -> Long("1")
Nilai ganda. Misalnya, 72.0 Output -> Long("72")
Representasi string dari nilai panjang. Misalnya, "72" Output -> Long("72")
Representasi string dari nilai ganda. Misalnya, "72.0" Output -> Kesalahan
Nilai null Output -> nol