2016-03-27 2 views
0

Я пытаюсь выполнить эквивалент:MongoDB выбрать как?

IF(CHAR_LENGTH(password) > 0, true, false) AS has_password 

В MongoDB, как я могу добиться этого?

+0

Возможный дубликат [Выполнение case-statement в структуре агрегации mongodb] (http://stackoverflow.com/questions/15494113/performing-case-statement-in-mongodb-aggregation-framework) – sagi

ответ

0

Один из способов сделать это используя $project оператор Aggregation Framework: Предположения:

  1. Существует коллекция под названием «пользователи» с «имя пользователя» и поля «Пароль».
  2. «Отсутствует» пароль null (это может быть что-то на самом деле - я использовал null только для примера).

db.getCollection('users').aggregate([{$project: {username: 1, has_password: { $ne: [ "$password", null ] }}}])

Дело прогнозирует результат некоторого оператора (который является логическим значением, например, $ п).

Смежные вопросы