Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der $toInt Operator konvertiert einen angegebenen Wert in einen ganzzahligen Wert.
Syntax
Die Syntax für den $toInt Operator lautet:
{
$toInt: < expression >
}
Die Parameter
| Parameter | Description |
|---|---|
expression |
Der angegebene Wert, der in einen Ganzzahlwert konvertiert werden soll |
Examples
Betrachten Sie dieses Beispieldokument aus der Stores-Sammlung.
{
"_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
}
]
}
]
}
Beispiel 1: Konvertieren eines Double-Werts in einen ganzzahligen Wert
Um den Wert des Breitengradfelds von einem Doppelten in ein Int zu konvertieren, führen Sie eine Abfrage mit dem operator $toInt im Feld aus, um die Konvertierung vorzunehmen.
db.stores.aggregate([{
$match: {
_id: "b0107631-9370-4acd-aafa-8ac3511e623d"
}
}, {
$project: {
originalLatitude: "$location.lat",
latitudeAsInt: {
$toInt: "$location.lat"
}
}
}])
Diese Abfrage gibt das folgende Ergebnis zurück:
[
{
"_id": "b0107631-9370-4acd-aafa-8ac3511e623d",
"originalLatitude": 72.8377,
"latitudeAsInt": 72
}
]
Beispiel 2: Konvertieren eines Zeichenfolgenwerts in einen ganzzahligen Wert
Um die Zeichenfolgendarstellung von 72 ("72") in einen ganzzahligen Wert zu konvertieren, führen Sie eine Abfrage mit dem operator $toInt für den Wert aus, um die Konvertierung vorzunehmen.
db.stores.aggregate([{
$match: {
_id: "b0107631-9370-4acd-aafa-8ac3511e623d"
}
}, {
$project: {
originalLatitude: "$location.lat",
latitudeAsInt: {
$toInt: {
$toString: "72"
}
}
}
}])
Diese Abfrage gibt das folgende Ergebnis zurück:
[
{
"_id": "b0107631-9370-4acd-aafa-8ac3511e623d",
"originalLatitude": 72.8377,
"latitudeAsInt": 72
}
]
Die folgende Abfrage gibt jedoch einen Fehler zurück, da die Zeichenfolge "72.0" nicht die Zeichenfolgendarstellung eines ganzzahligen Werts ist.
db.stores.aggregate([{
$match: {
_id: "b0107631-9370-4acd-aafa-8ac3511e623d"
}
}, {
$project: {
originalLatitude: "$location.lat",
latitudeAsInt: {
$toInt: {
$toString: "72.0"
}
}
}
}])
Diese Abfrage gibt die folgende Fehlermeldung zurück: "Fehler beim Analysieren der Nummer '72.0' in $convert"
In dieser Tabelle wird das erwartete Verhalten des $toInt Operators basierend auf dem Datentyp der Eingabe abgegrenzt.
| Werttyp | Behavior/Output |
|---|---|
| Boolescher Wert true | Ausgabe -> 1 |
| Boolescher Wert false | Ausgabe -> 0 |
| Double-Wert. Z.B. 72.0 | Ausgabe -> 72 |
| Zeichenfolgendarstellung eines ganzzahligen Werts. Beispiel: "72" | Ausgabe -> 72 |
| Zeichenfolgendarstellung eines Double-Werts. Beispiel: "72.0" | Ausgabe –> Fehler |
| Nullwert | Ausgabe -> NULL |