Получить последние символы, используя $ substr - PullRequest
0 голосов
/ 02 сентября 2018

Вот мой запрос, который успешно возвращает адрес:

Warehouse.find({}, "address") // -> "123 Cool Street, Sacramento, CA, 95814"

Как я мог бы получить из этого почтовый индекс, используя что-то вроде подстроки?

Вот часть коллекции для справки:

{
  "price": null,
  "units": [],
  "address": "123 Cool Street, Sacramento, CA, 95814"
}

1 Ответ

0 голосов
/ 03 сентября 2018

Вы можете использовать $substr агрегацию, вычитая символы из последней до 5-й позиции каждого поля address.

Warehouse.aggregate([
  { "$project": {
    "zip": {
      "$substr": [
        "$address",
        {
          "$subtract": [
            { "$strLenCP": "$address" },
            5
          ]
        },
        5
      ]
    }
  }}
])
...