我需要从 Dev MongoDB 集合导出数据并将数据部署到另一个环境(UAT)集合中。我使用 MongoDB compass Export Collection 工具将文档输出为 Json 格式,然后使用 GUI 添加数据工具导入 Json 文件,它工作正常,没有问题。
我需要编写所有内容的脚本,以便可以从命令行运行它,而不是手动使用该工具,然后我注意到导出集合工具生成的 json 格式已更改了某些数据类型。当我使用 insertMany 命令插入输出 Json 文件时。它会有错误。例如,我有一些日期字段,导出集合工具生成的输出将它们转换为 “$日期”:{ "$numberLong": "1650603600000" } 相反,它的格式应该类似于 ISODate("2022-06-02T05:00:00.000Z")。
使用 GUI 添加使用此格式的数据不会引起问题,但如果我使用命令 insertMany 然后插入 Json 格式,数据将不再是日期。有什么办法可以解决这个问题吗?
您需要更改日期:
从此:
"$date": { "$numberLong": "1650603600000" }
对此:
new Date("1650603600000")
请下载 MongoDB Shell 并在终端上运行它(而不是在 MongoDB Compass 上),你就会得到它。