You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MongoDB中拼接嵌套JSON内字符串与外层其他字符串

MongoDB 单文档内数组元素与外层字段拼接方案

核心实现思路

不需要$group分组操作,直接使用$map遍历数组+$concat字符串拼接即可完成单文档内的字段转换。

示例原始文档结构

{
  "_id": ObjectId("65001acb2f4a89f1a7d3c0e1"),
  "acronym": "MC",
  "tickers": [
    {"name": "标的1", "symbol": "s1f"},
    {"name": "标的2", "symbol": "s1b"}
  ]
}

聚合查询语句

db.你的集合名.aggregate([
  {
    $addFields: {
      // 自定义输出的数组字段名,这里用result
      result: {
        $map: {
          input: "$tickers", // 指定要遍历的数组
          as: "item", // 定义遍历到的单个元素的变量名
          in: {
            // 拼接规则:symbol + 点 + 外层acronym
            $concat: ["$$item.symbol", ".", "$acronym"]
          }
        }
      }
    }
  },
  // 可选:如果只需要返回结果数组,不需要其他原始字段,加下面的投影
  {
    $project: {
      _id: 0,
      result: 1
    }
  }
])

输出结果示例

{
  "result": ["s1f.MC", "s1b.MC"]
}

关键说明

  • 遍历数组元素时,自定义变量需要加两个$前缀(比如上面的$$item),外层文档字段直接用单个$前缀即可
  • 该方案仅对单文档内的字段做转换,性能远高于跨文档的分组操作

内容的提问来源于stack exchange,提问作者ignareyesa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 19:54:05