使用$ substr获取最后一个字符

时间:2018-09-02 16:15:33

标签: mongodb mongoose aggregation-framework

这是我的查询,成功返回了一个地址:

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

我如何使用子字符串之类的方法获取邮政编码?

这里是供参考的一部分:

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

1 个答案:

答案 0 :(得分:1)

您可以使用$substr聚合从每个address字段的最后一个到第五个位置减去字符。

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