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

如何替换JSON格式字符串中date、format字段的非字符串值?

替换MongoDB风格JSON中的date和format字段值

核心说明

你给出的输入输出并非标准JSON,而是MongoDB Shell使用的扩展JSON语法,其中ISODate()和NumberLong()是MongoDB专属的类型构造函数,不属于标准JSON范畴。

手动替换操作

直接定位对应字段替换值即可,注意格式要求:

  • date字段替换为ISODate(YYYY-MM-DDTHH:mm:ss.sssZ)格式,时间需严格符合ISO 8601标准,例如ISODate(2022-07-17T21:45:50.955Z)
  • format字段替换为NumberLong(数字值)格式,例如NumberLong(100307006)

脚本批量/动态替换示例(JavaScript,MongoDB Shell环境)

如果需要批量处理或动态生成目标格式,可以用以下脚本:

// 原始数据
const originalData = {
    "date": "dummydate",    
    "format": "dummyformat",
    "name": "kumar"
};

// 替换字段值
originalData.date = ISODate("2022-07-17T21:45:50.955Z");
originalData.format = NumberLong(100307006);

// 输出结果
printjson(originalData);

执行后会直接输出符合要求的MongoDB扩展JSON内容。

跨语言处理注意事项

如果在其他编程语言中生成这类格式,需要借助MongoDB官方驱动提供的类型工具:

  • Python(pymongo):用datetime.datetime类型表示日期(会自动转为ISODate),用bson.int64.Int64表示长整数(对应NumberLong)
  • Java:用org.bson.types.Date和org.bson.types.Long对应目标类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:03:26