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

MongoDB Compass导入CSV:Unix时间戳`t`与`i`反转问题求助

解决MongoDB Compass导入Unix时间戳字段存储异常的问题
  • 换用Date类型导入:MongoDB的Timestamp类型本身就是t(时间戳秒数)+i(自增计数器)的复合结构,你要的单字段时间格式应该是Date类型。导入时把该字段的类型标记为Date,Compass会自动将Unix时间戳转成标准ISODate格式,直接存为单个字段,不会拆分出子字段。

  • 导入后用聚合修正数据:如果已经导入完成,执行以下命令把i字段的值转成标准Date字段:

    db.yourCollection.updateMany(
      {},
      [
        {
          $set: {
            targetField: { $toDate: { $multiply: ["$targetField.i", 1000] } }
          }
        }
      ]
    )
    

    替换yourCollection为你的集合名,targetField为对应的时间戳字段名。

  • 预处理CSV再导入:如果一定要用Timestamp类型且让t字段存时间戳,先把CSV里的Unix时间戳乘以1000(转成毫秒级),导入时标记为Timestamp类型,Compass会把毫秒值存入t字段,i字段自动填0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 12:35:18