MongoDB находит ключевые слова, соответствующие регулярному выражению

У меня есть строковое поле со значениями примерно так:

  • путь/xxxxxxx-2020-12-11.tgz
  • путь/xxxxxxx-2020-12-12.tgz

У меня есть специальная функция JS fetch_date, которая извлекает дату через регулярное выражение (используя RegExp). Я хочу спроецировать дату поля, а затем сгруппировать по этому полю.

Ожидаемый образец вывода:

  • {день:2020-12-11, количество:1}
  • {день:2020-12-12, количество:1}

$regex оператор может сопоставить элемент, но не может вернуть совпадающие ключевые слова.

  • Можно ли найти совпадающие ключевые слова с помощью любого родного оператора?
  • Могу ли я использовать функцию JS для проецирования этого нового поля, а затем $group на него?
Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
0
0
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

$regexFind у меня сработало.

Пример запроса:

db.coll.aggregate( [
    { $addFields: {
       "dt": { $regexFind: { input: "$path", regex: <expression> } }
    } },
    { $set: { dt: "$dt.match"} }
] )

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