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

MongoDB $toLower

В 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 оператор.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Защо грешката mongod е мъртва, но подсистемата е заключена и недостатъчно свободно място за файлове на дневници в Linux?

  2. Как мога да заредя данни от колекция mongodb в DataFrame на pandas?

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

  4. Как да проектираме високодостъпни среди за бази данни с отворен код

  5. MongoDB C# Заявка за 'Like' на низ