无法分析mongodb json响应-javascript

无法分析mongodb json响应-javascript,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我试图通过node.js get请求从mongodb json响应中获取一些特定字段。但它给了我不干净的感觉 app.get('/continueDiscovery', addon.authenticate(), function(req, res) { console.log("Calling to getAllDiscovery") productDiscovery.find(function (err, data){ if (err)

我试图通过node.js get请求从mongodb json响应中获取一些特定字段。但它给了我不干净的感觉

    app.get('/continueDiscovery', addon.authenticate(), function(req, res) {
    console.log("Calling to getAllDiscovery")
    productDiscovery.find(function (err, data){

        if (err)
            res.send(err)

        var data = JSON.stringify(data);

        var jsonData = JSON.parse(data)
        console.log("Getting all data")
        console.log(jsonData.productName)

        console.log(data)

        res.render('continueDiscovery', {continueDiscovery: data });
    });
});
日志(数据)打印


但是,当我试图使用
console.log(jsonData.productName)
访问任何特定值时,它首先会给我控制台上未定义的值,
jsonData
是一个
数组,所以您需要先访问特定元素(即
jsonData[0]

另外,
productName
仅为某些数组元素定义,因此对于
jsonData[0].productName
,它仍然是
未定义的


因此,请首先尝试查找数组的特定元素,然后访问其
productName
属性。

首先,
jsonData
是一个
数组,因此您需要首先访问特定元素(即
jsonData[0]

另外,
productName
仅为某些数组元素定义,因此对于
jsonData[0].productName
,它仍然是
未定义的


因此,请首先尝试查找数组的特定元素,然后访问其
productName
属性。

响应基本上是一个对象数组,可以使用此属性访问它

jsonData[0]._id

响应基本上是一个对象数组,通过使用

jsonData[0]._id
  • 您正在接收一个数组

  • 该数组中只有少数对象包含属性“productName

因此,您的代码如下所示:

for(var i=0 ;i<yourArray.length;i++){  'yourArray' is the response that you recieve
 var obj = yourArray[i];

 if(obj.productName){
   // handle code when Object has 'productName' property
 }else{
   // handle code when Object does not have 'productName' property
 }
}
for(var i=0;i
  • 您正在接收一个数组

  • 该数组中只有少数对象包含属性“productName

因此,您的代码如下所示:

for(var i=0 ;i<yourArray.length;i++){  'yourArray' is the response that you recieve
 var obj = yourArray[i];

 if(obj.productName){
   // handle code when Object has 'productName' property
 }else{
   // handle code when Object does not have 'productName' property
 }
}

对于(var i=0;i可能我是盲的,但我在json中没有看到任何“productName”字段?
数据
是一个数组,您必须迭代数组以访问其元素或使用特定索引来获取属性值,例如
console.log(jsonData[0]。\u id)
。也许我是盲的,但我没有看到任何“productName”json中的字段?
data
是一个数组,您必须迭代该数组以访问其元素,或者使用特定索引来获取属性值,例如
console.log(jsonData[0].\u id)