首页 > 解决方案 > 从列表中的字符串中修剪前 4 个字符

问题描述

我有一个包含这样的文档的集合:

{ 
    "_id" : "0001", 
    "stateIds" : ["GGGGHI", "GGGGCA", "GGGGMA", "GGGGNY"]
}

我想从每个文档的 stateIds 列表中的每个元素中删除 GGGG 。

预期输出:

{ 
    "_id" : "0001", 
    "stateIds" : ["HI", "CA", "MA", "NY"]
}


标签: databasemongodbmongodb-querynosql

解决方案


你可以试试这样,看看substr

{
    $project: {
      stateIds: {
        $map: {
          input: "$stateIds",
          as: "s",
          in: {
            $substr: [
              "$$s",
              4,
              2
            ]
          }
        }
      }
    }
  }

工作Mongoplayground


推荐阅读