Используйте Regex в агрегате mongodb - PullRequest
1 голос
/ 24 января 2020

Иметь коллекцию со значениями

_id:ObjectId('......')
ton_id :ObjectId('abcd')
value:qwejc+iejtns/@
date:2019-12-13T07:09:40.075+00:00


_id:ObjectId('......')
ton_id :ObjectId('abcd')
value:asdf+kine
date:2018-1-13T07:09:40.075+00:00

Требуется необходимый вывод:

получить данные после +

_id:ObjectId('......')
ton_id :ObjectId('abcd')
value:iejtns/@
date:2019-12-13T07:09:40.075+00:00


_id:ObjectId('......')
ton_id :ObjectId('abcd')
value:kine
date:2018-1-13T07:09:40.075+00:00

1 Ответ

1 голос
/ 24 января 2020

Вы можете использовать $split для разделения со знаком +, а затем $arrayElemAt для получения последнего индекса.

db.collection.aggregate([
  { "$project": {
    "value": {
      "$arrayElemAt": [{ "$split": ["$value", "+"] }, -1]
    }
  }}
])

MongoPlayground

...