Булево выражение со сравнением строк в Mongodb?

$cond в mongodb определяется так:

$cond: { if: { $gte: [ "$qty", 250 ] }, then: 30, else: 20 }

Но мы можем сделать это для строки? Я хочу сравнить строковое значение внутри документа с регулярным выражением, поэтому что-то вроде этого может работать:

$cond: { if: { $match: [/sam/, "$name"] }, then: 30, else: 20 }

/sam/ это регулярное выражение и "$name" это поле, с которым я хочу сравнить. Как примечание, это выражение будет помещено в агрегатный конвейер.

1 ответ

Решение

Нет, в настоящее время это невозможно и является запросом открытой функции в течение достаточно долгого времени.
В зависимости от ваших потребностей вы можете делать свои вещи с помощью $substr

Другие вопросы по тегам