In MongoDB ist der $toUpper
Der Aggregations-Pipeline-Operator wandelt eine Zeichenfolge in Großbuchstaben um und gibt das Ergebnis zurück.
Beispiel
Angenommen, wir haben eine Sammlung namens pets
mit folgenden Dokumenten:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
Wir können den $toUpper
verwenden -Operator, um diese Felder in Zeichenfolgen in Großbuchstaben umzuwandeln und das Ergebnis zurückzugeben.
Hier ist ein Beispiel für die Rückgabe des name
und type
Felder in Großbuchstaben:
db.pets.aggregate(
[
{
$project:
{
name: { $toUpper: "$name" },
type: { $toUpper: "$type" },
weight: "$weight"
}
}
]
)
Ergebnis:
{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : 20 } { "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : 10 } { "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : 7 }
Konvertieren von Nicht-Strings
Sie können $toUpper
verwenden auf Werte, die nicht unbedingt Zeichenfolgen sind. Das Argument kann ein beliebiger Ausdruck sein, solange er in einen String aufgelöst wird.
Zum Beispiel können wir $toUpper
verwenden um das weight
umzurechnen Feld in eine Zeichenfolge in Großbuchstaben, obwohl dieses Feld nur Zahlen enthält.
Beispiel:
db.pets.aggregate(
[
{
$project:
{
name: { $toUpper: "$name" },
type: { $toUpper: "$type" },
weight: { $toUpper: "$weight" }
}
}
]
)
Ergebnis:
{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : "20" } { "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : "10" } { "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : "7" }
Wir können das weight
sehen -Feld wurde in eine Zeichenfolge konvertiert, da es jetzt von Anführungszeichen umgeben ist. Da dieses Feld jedoch nur Zahlen enthält, gibt es keinen Großbuchstabeneffekt – Zahlen haben keine Groß- und Kleinschreibung, sodass wir keinen Unterschied in Bezug auf Groß- und Kleinschreibung feststellen können.
Wenn wir die Zahl einfach in einen String umwandeln wollten, hätten wir den $toString
verwenden können Operator oder sogar der $convert
Betreiber.