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

MongoDB聚合:如何将时间字符串转换为ISO格式

MongoDB聚合实现time字段格式转换

可以通过MongoDB聚合管道结合字符串处理操作符完成格式转换,以下是具体实现:

db.yourCollectionName.aggregate([
  {
    $addFields: {
      time: {
        $concat: [
          "PT",
          { $arrayElemAt: [{ $split: ["$time", " "] }, 0] },
          "S"
        ]
      }
    }
  }
])

代码说明:

  • $split: 将time字段按空格分割为数组,例如"3266 sec"会被拆分为["3266", "sec"]
  • $arrayElemAt: 提取数组的第一个元素,即数字部分"3266"
  • $concat: 将固定前缀"PT"、提取出的数字、固定后缀"S"拼接成目标格式"PT3266S"
  • $addFields: 用转换后的新值覆盖原time字段,同时保留文档其他原有字段

如果需要永久修改集合中的文档,可在聚合后添加$out阶段将结果写入原集合(执行前请务必备份数据):

db.yourCollectionName.aggregate([
  {
    $addFields: {
      time: {
        $concat: [
          "PT",
          { $arrayElemAt: [{ $split: ["$time", " "] }, 0] },
          "S"
        ]
      }
    }
  },
  { $out: "yourCollectionName" }
])

注意:$out会直接替换原集合的所有数据,操作前请确认数据已备份。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:25:44