无法分析mongodb json响应-javascript
我试图通过node.js get请求从mongodb json响应中获取一些特定字段。但它给了我不干净的感觉无法分析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)
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)
。