从猫鼬对象的数组元素解析数据产生未定义,而简单元素值正确返回

时间:2019-01-18 16:36:28

标签: node.js mongoose

我编写了一个查询,以通过mongoose对象从mongo db中将数据提取到 outVar 变量中,当我从js文件将 outVar 打印到控制台时,我正在获取低于数据

{ _id: 5c24fad96fe8c607b7e73814,
  title: 'Movies and TV series database',
  version: '1.0',
  shows:
   [ { name: 'CSI', genre: 'Sci', lead_actor: 'William Petersen' } ] }

console.log(outVar.title) console.log(outVar.version) 产生结果电影和电视连续剧数据库 1.0 。但是,当我尝试打印outVar.shows时,却无法定义。

请帮助我了解我要去哪里哪里以及如何纠正此问题。

1 个答案:

答案 0 :(得分:0)

首先应该对mongo响应进行字符串化,然后再将其解析为JSON对象。然后,应在以下操作中使用生成的JSON对象,如下所示

var outString=JSON.stringify(out[0]);
var outStringJson=JSON.parse(outString);
console.log(outStringJson.shows);
console.log(outStringJson.shows[0]);