将MongoDB对象转换为JavaScript对象

3

我在启动另一个node.js模块时,会传递一个配置文件。该配置文件包含以下JSON:

    "resolution": {
      "activated": true,
      "types": [
      {"of": 23}
      ]
    }

当我在被调用的node.js模块中打印接收到的类型数组时,它看起来像这样:
console.log('types array: '+ this.config.resolution.types) 
//output
types array: [object Object]

如果我尝试使用JSON.stringify()打印文本,则会得到以下结果。
[{"of":23}]

当我尝试用从MongoDB数据库中检索到的列表替换types数组时,问题就出现了。我的代码如下:

"resolution": { "activated": true, "types": [ savedTypes ] }

现在,当我打印接收到的types配置时,它看起来像这样:

types array: { _id: 5ab9fe8fd1f64303cd98f122, of: 23, __v: 0 }

我调用的节点模块在这个配置下无法正常工作。如何将其转换为对象?我尝试使用

JSON.parse(savedTypes)

并且出现了错误

SyntaxError: Unexpected token _ in JSON at position 2

分享你的 MongoDB 查询。 - Hassan Imam
2个回答

4
如果你使用mongoose,我认为正确的方式是使用ToJSON()函数。 否则,你可以使用JSON.parse(JSON.stringify(data));但我认为第一种方式更好。 =)

3
为什么你不在mongoose中使用lean(),就像user.find({}).lean()这样? - Mariya James
@MariyaJames 是的!没错!=)但我不知道他是否需要mongoose对象。 - aperdizs

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接