2017-02-18 2 views
0

Как получить поле вывода в верхнем регистре в MongoDB.Как сделать запрос в верхнем регистре в mongodb

Рассмотрим ниже набор данных, где мы хотим, чтобы вернуть выход в верхнем регистре для конкретного поля (предположим, поданное «тип»)

данные:

enter image description here

Если мы запустим запрос возвращает ошибка, как показано ниже, не удалось выполнить синтаксический анализ, предложите решение для получения вывода типа «тип» в верхнем регистре. db.products.find ([{$ toUpper: "type"}, {type: "wall"}])

ответ

0

Вам необходимо использовать агрегацию и спроектировать значение, заданное из toUpper как новое поле. Смотрите пример из $toUpper documentation page:

db.inventory.aggregate(
    [ 
    { 
     $project: 
     { 
      item: { $toUpper: "$item" }, 
      description: { $toUpper: "$description" } 
     } 
    } 
    ] 
) 

Обратите внимание, как результат $ TOUPPER используется в качестве значения нового элемента поля.

Попробуйте воспользоваться нашими данными. Я создал тестовую коллекцию, и это сработало для меня.

db.products.aggregate(
    { 
     $match: { 
     "type": "wall" 
     } 
    }, 
    { 
     $project: { 
     "upperCaseType": { 
      $toUpper: "$type" 
     } 
     } 
    } 
); 

Игра проверяет type является «стена» и проекция говорит, чтобы включать только значение type поля в верхнем регистре. Возможно, есть способ сделать это без агрегации, но я не знаю об этом.

+0

Это сработало .. Спасибо ... !! –

+0

Нет проблем! Пожалуйста, не забудьте принять мой ответ. –

0
 

    db.products.find({ "name": { $regex: "abc" } }); 

мы можем использовать оператор $ regex для поиска текста в верхнем и нижнем регистре.