将mongodb对象转换为javascript对象
启动另一个node.js模块时,我会将一个配置文件传递给它。配置文件包含以下json:将mongodb对象转换为javascript对象,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,启动另一个node.js模块时,我会将一个配置文件传递给它。配置文件包含以下json: "resolution": { "activated": true, "types": [ {"of": 23} ] } 当我在被调用的node.js模块中打印接收到的类型数组时,它看起来像 console.log('types array: '+ this.config.resolution.types) //output types ar
"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 array: { _id: 5ab9fe8fd1f64303cd98f122, of: 23, __v: 0 }
并且被调用的节点模块无法使用此配置正常工作。如何将其投射到对象?我试着用
JSON.parse(savedTypes)
并获取错误
SyntaxError: Unexpected token _ in JSON at position 2
如果使用mongoose,我认为正确的形式是使用ToJSON()函数 否则,您可以使用JSON.parse(JSON.stringify(data));但我认为第一种形式更好
=)或者,您可以使用javascript中的
.toObject()
方法将mongoose对象转换为javascript对象
这里有一个参考链接来挖掘更多信息
共享您的mongodb查询。为什么不在mongoose中使用lean(),user.find({}).lean()像this@MariyaJames对是的!=)但我不知道他是否需要猫鼬的东西。