MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB $toUpper

В MongoDB, $toUpper Операторът на конвейера за агрегиране преобразува низ в главни букви и връща резултата.

Пример

Да предположим, че имаме колекция, наречена 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 }

Можем да използваме $toUpper оператор за преобразуване на тези полета в низове с главни букви и връщане на резултата.

Ето пример за връщане на name и type полета с главни букви:

db.pets.aggregate(
  [
    {
      $project:
        { 
          name: { $toUpper: "$name" },
          type: { $toUpper: "$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 }

Преобразуване на не-низове

Можете да използвате $toUpper върху стойности, които не са непременно низове. Аргументът може да бъде произволен израз, стига да се разрешава в низ.

Например, можем да използваме $toUpper за да преобразувате weight поле към низ с главни букви, въпреки че това поле съдържа само числа.

Пример:

db.pets.aggregate(
  [
    {
      $project:
        { 
          name: { $toUpper: "$name" },
          type: { $toUpper: "$type" },
          weight: { $toUpper: "$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 оператор.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Първият MongoDB хостинг DBaaS в подкрепа на Azure Government за публичния сектор

  2. MongoDb C# GeoNear конструиране на заявка

  3. Как да използвате неподредено групово вмъкване с Mongoskin?

  4. Актуализирайте елемента в масива, ако съществува, иначе вмъкнете нов елемент в този масив в MongoDb

  5. Защо MongoDB заема толкова много място?