You need to enable JavaScript to run this app. 使用mongodb aggregation后如何在返回前格式化JSON的name字段为首字母大写
优惠活动
大模型
产品
解决方案
定价
更多

使用mongodb aggregation后如何在返回前格式化JSON的name字段为首字母大写

解决方法

你只需要在res.send(result)之前遍历聚合返回的结果数组,对每一项的name字段调用你实现的titleCase工具函数处理即可,修改后的代码如下:

], function (err, result) {
  if (err) {
    logger.error(req.method + ": " + req.originalUrl + ", message: " + err.message)
    next(createError.InternalServerError())
  }
  // 新增name字段格式化逻辑
  if (Array.isArray(result)) {
    result.forEach(item => {
      // 只对存在name字段的项做处理,避免异常报错
      if (item?.name) {
        item.name = titleCase(item.name)
      }
    })
  }
  res.send(result); //该行为数据返回代码
});

如果不想修改原聚合返回的结果对象,可以用map生成新数组返回:

const formattedResult = Array.isArray(result) ? result.map(item => {
  if (!item?.name) return item
  return {
    ...item,
    name: titleCase(item.name)
  }
}) : result
res.send(formattedResult)

补充说明

  • 代码中增加了数组类型判断和name字段存在性判断,避免数据格式异常时出现运行错误
  • 如果你希望直接在MongoDB聚合阶段完成首字母大写处理,也可以用$toUpper、$substrCP等聚合运算符实现,但上述在业务层处理的方式更灵活,也能直接复用你已经写好的工具函数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 11:36:03