In MongoDB is de $toUpper
aggregatiepijplijnoperator converteert een tekenreeks naar hoofdletters en retourneert het resultaat.
Voorbeeld
Stel dat we een verzameling hebben met de naam pets
met de volgende documenten:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
We kunnen de $toUpper
. gebruiken operator om die velden om te zetten in hoofdletters en het resultaat te retourneren.
Hier is een voorbeeld van het retourneren van de name
en type
velden in hoofdletters:
db.pets.aggregate(
[
{
$project:
{
name: { $toUpper: "$name" },
type: { $toUpper: "$type" },
weight: "$weight"
}
}
]
)
Resultaat:
{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : 20 } { "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : 10 } { "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : 7 }
Niet-strings converteren
U kunt $toUpper
. gebruiken op waarden die niet noodzakelijk strings zijn. Het argument kan elke uitdrukking zijn, zolang het maar oplost in een string.
We kunnen bijvoorbeeld $toUpper
. gebruiken om het weight
om te rekenen veld naar een tekenreeks in hoofdletters, ook al bevat dat veld alleen cijfers.
Voorbeeld:
db.pets.aggregate(
[
{
$project:
{
name: { $toUpper: "$name" },
type: { $toUpper: "$type" },
weight: { $toUpper: "$weight" }
}
}
]
)
Resultaat:
{ "_id" : 1, "name" : "WAG", "type" : "DOG", "weight" : "20" } { "_id" : 2, "name" : "BARK", "type" : "DOG", "weight" : "10" } { "_id" : 3, "name" : "MEOW", "type" : "CAT", "weight" : "7" }
We kunnen zien dat het weight
veld is geconverteerd naar een tekenreeks, omdat het nu tussen aanhalingstekens staat. Aangezien dit veld echter alleen cijfers bevat, is er geen effect van hoofdletters - cijfers hebben geen hoofdletters en kleine letters, en dus kunnen we geen verschil zien met betrekking tot hoofdletters.
Als we het getal eenvoudig naar een tekenreeks wilden converteren, hadden we de $toString
. kunnen gebruiken operator of zelfs de $convert
telefoniste.