MongoDBでは、$toLower
集計パイプライン演算子は、文字列を小文字に変換し、結果を返します。
例
pets
というコレクションがあるとします。 次のドキュメントを使用:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 }
$toLower
を使用できます これらのフィールドを小文字の文字列に変換して結果を返す演算子。
name
を返す例を次に示します。 およびtype
小文字のフィールド:
db.pets.aggregate(
[
{
$project:
{
name: { $toLower: "$name" },
type: { $toLower: "$type" },
weight: "$weight"
}
}
]
)
結果:
{ "_id" : 1, "name" : "wag", "type" : "dog", "weight" : 20 } { "_id" : 2, "name" : "bark", "type" : "dog", "weight" : 10 } { "_id" : 3, "name" : "meow", "type" : "cat", "weight" : 7 }
この場合、最初はほとんどの文字が小文字でしたが、最初の文字は大文字でした。いずれの場合も、これらの文字は小文字に変換され、結果が返されました。
非文字列の変換
$toLower
を使用できます 必ずしも文字列ではない値。引数は、文字列に解決される限り、任意の式にすることができます。
たとえば、$toLower
を使用できます weight
を変換するには フィールドには数字しか含まれていませんが、フィールドを小文字の文字列に変換します。
例:
db.pets.aggregate(
[
{
$project:
{
name: { $toLower: "$name" },
type: { $toLower: "$type" },
weight: { $toLower: "$weight" }
}
}
]
)
結果:
{ "_id" : 1, "name" : "wag", "type" : "dog", "weight" : "20" } { "_id" : 2, "name" : "bark", "type" : "dog", "weight" : "10" } { "_id" : 3, "name" : "meow", "type" : "cat", "weight" : "7" }
weight
フィールドは引用符で囲まれているため、文字列に変換されました。ただし、このフィールドには数字のみが含まれているため、小文字の影響はありません。数字には大文字と小文字がないため、大文字と小文字の違いはわかりません。
数値を文字列に変換したいだけの場合は、$toString
を使用できます。 演算子または$convert
オペレーター。