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

如何在MongoDB中提取coursesMarks子对象并组合为数组返回

问题解决:提取coursesMarks属性生成courses数组

给定一个包含多个对象的数组,每个对象均包含coursesMarks属性,需要将该属性内的子对象提取出来,组合为名为courses的数组并按指定格式返回。

输入示例

[
  {
    "coursesMarks": {
      "_id": "634a9be567a1f07be02f71d8",
      "courseCode": "cse1201",
      "courseTitle": "SP"
    }
  },
  {
    "coursesMarks": {
      "_id": "634a9be567a1f07be02f71db",
      "courseCode": "cse1203",
      "courseTitle": "DS"
    }
  }
]

预期输出

[
  {
    "courses": [
      {
        "_id": "634a9be567a1f07be02f71d8",
        "courseCode": "cse1201",
        "courseTitle": "SP"
      },
      {
        "_id": "634a9be567a1f07be02f71db",
        "courseCode": "cse1203",
        "courseTitle": "DS"
      }
    ]
  }
]

实现方案(JavaScript)

通过数组的map方法提取每个对象的coursesMarks属性值,再将结果封装到指定结构中:

const input = [
  {
    "coursesMarks": {
      "_id": "634a9be567a1f07be02f71d8",
      "courseCode": "cse1201",
      "courseTitle": "SP"
    }
  },
  {
    "coursesMarks": {
      "_id": "634a9be567a1f07be02f71db",
      "courseCode": "cse1203",
      "courseTitle": "DS"
    }
  }
];

// 提取coursesMarks并组合成目标结构
const output = [{
  courses: input.map(item => item.coursesMarks)
}];

// 输出格式化后的结果
console.log(JSON.stringify(output, null, 2));

说明

  • input.map(item => item.coursesMarks)会遍历输入数组的每个元素,取出其中的coursesMarks子对象,形成一个新数组;
  • 将这个新数组赋值给courses属性,再把包含该属性的对象放入数组,就得到了符合要求的输出格式。

内容的提问来源于stack exchange,提问作者Shakhawat Hossain SHIHAB

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 03:25:31