【发布时间】:2019-05-08 12:25:51
【问题描述】:
我将 mongodb 文档保存在 JSON 文件中。
我想编写 nodejs 代码来从这个 JSON 文件创建一个新的 mongodb 文档。
我尝试了两种方法,都失败了。
1) 如果 JSON 文件有 ObjectId("xxxxxxx"),nodejs 代码无法执行 JSON.parse(),因为它不是有效的 JSON 文件
2) 如果我使用 mongoexport 导出文档,我会得到如下信息: { _id: { '$oid': '5bf6e973180a93001bc5c895' } },之后 JSON.parse() 工作,但插入失败。
在 nodejs 代码中是否有其他方法(不是命令行)?
我只是认为 mongoose 是否具有创建文档的功能,它采用字符串而不是对象?如果是这样,我不需要使用 JSON.pares() 来解析这个字符串。只需从文件中读取,然后发送给 mongoose。
【问题讨论】:
-
您是否出于某种原因需要将
_id存储在JSON 文件中?_id属性是一个 MongoDB 结构,如果您不提供,数据库将自动为您生成一个。您可以找到_id文档属性 here 的文档。 -
不仅是_id。我还有其他属于 ObjectId() 类型的字段。另外,我有 Date() 类型。所有的 JS 对象都不能保存为有效的 JSON 字符串。