javascript - 无法解析 mongodb json 响应 - javascript

标签 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)
            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(data) 打印

[{"_id":"56989b14814fa7f664000001","__v":0},{"_id":"56989d302e88c32c0a000001","__v":0},{"_id":"56989d6373c4163010000001","__v":0},{"_id":"5698a5a03fb53c451e000001","__v":0},{"_id":"5698a5b23fb53c451e000002","__v":0},{"_id":"5698a65e5978b95b27000001","__v":0},{"_id":"5698a66b5978b95b27000002","__v":0},{"_id":"5698aac4973c3b9864000001","__v":0},{"_id":"5698ac666a9411e70f000001","__v":0},{"_id":"5698ac906a9411e70f000002","__v":0},{"_id":"5698bc34d7b926f518000001","__v":0},{"_id":"5698bc83c123996720000001","__v":0},{"_id":"5698bd57e356ef2b26000001","__v":0},{"_id":"5698bf9ef45490fd54000001","__v":0},{"_id":"5698c009636c05615c000001","__v":0},{"_id":"5698c04d4391848a60000001","__v":0},{"_id":"5698c068d760666863000001","__v":0},{"_id":"5698c0b7ce51651468000001","__v":0},{"_id":"5698c1124b365c3d6f000001","__v":0},{"_id":"5698c1331d0d460872000001","__v":0},{"_id":"5698c14f1d0d460872000002","__v":0},{"_id":"5698c470bfc2076c2a000001","__v":0},{"_id":"5698c487bc25c41a2e000001","__v":0},{"_id":"5698c4e7c71b3d7633000001","__v":0},{"_id":"5698c51887c28f5c36000001","__v":0},{"_id":"5698c5d34981174643000001","__v":0},{"_id":"5698cbf39eda14852c000001","__v":0},{"_id":"5698cc653753891c33000001","__v":0},{"_id":"5698ccd080698b5d3b000001","__v":0},{"_id":"5698cd0926cad98340000001","__v":0},{"_id":"5698d21a0e2c9a6715000001","__v":0},{"_id":"5698d31a0f410ec925000001","__v":0},{"_id":"5698d589f3a2fbb63c000001","__v":0},{"_id":"5698d92bb34a3e4867000001","productName":"ewfewf","endUsers":"ewfewfew","__v":0},{"_id":"5698d92db34a3e4867000002","productName":"ewfewf","endUsers":"ewfewfew","__v":0},{"_id":"5698d92db34a3e4867000003","productName":"ewfewf","endUsers":"ewfewfew","__v":0},{"_id":"5698d92db34a3e4867000004","productName":"ewfewf","endUsers":"ewfewfew","__v":0},{"_id":"5698d92eb34a3e4867000005","productName":"ewfewf","endUsers":"ewfewfew","__v":0},{"_id":"5698d92eb34a3e4867000006","productName":"ewfewf","endUsers":"ewfewfew","__v":0},{"_id":"5698d92eb34a3e4867000007","productName":"ewfewf","endUsers":"ewfewfew","__v":0},{"_id":"5698d92eb34a3e4867000008","productName":"ewfewf","endUsers":"ewfewfew","__v":0},{"_id":"5698d92eb34a3e4867000009","productName":"ewfewf","endUsers":"ewfewfew","__v":0},{"_id":"5698d955b34a3e486700000a","productName":"alokwa re","endUsers":"ewfewfew","__v":0},{"_id":"5698da92596d27f625000001","productName":"re alokwa","endUsers":"re userwa","problemsArea":"re problemwa","productKind":"re productwa","problemSoln":"re solutionwa","competitors":"re competitorwa","__v":0},{"_id":"569ca2ec2a0078bf67000001","productName":"Car Pooling","endUsers":"Car Pooling","problemsArea":"Car Pooling","productKind":"Car Pooling","problemSoln":"Car Pooling","competitors":"Car Pooling","__v":0},{"_id":"569ca75b81c7427376000001","productName":"Hola bhola","endUsers":"Hola bhola","problemsArea":"Hola bhola","productKind":"Hola bhola","problemSoln":"Hola bhola","competitors":"Hola bhola","__v":0},{"_id":"569ca7cee76ffc330d000001","productName":"Hola bhola","endUsers":"Hola bhola","problemsArea":"Hola bhola","productKind":"Hola bhola","problemSoln":"Hola bhola","competitors":"Hola bhola","__v":0},{"_id":"569ca8371fb843c816000001","productName":"ttereeter","endUsers":"ewweewkewkl","problemsArea":"kleklewklkl","productKind":"lklklewrkkl","problemSoln":"lkrlklkewkl","competitors":"lkklrlkerwlk","__v":0}]

但是当我尝试使用 console.log(jsonData.productName) 访问任何特定值时,它会在控制台上显示 undefined

最佳答案

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

此外,productName 仅针对某些数组元素进行了定义,因此对于 jsonData[0].productName 来说,它仍然是 undefined

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

关于javascript - 无法解析 mongodb json 响应 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35199481/

相关文章:

Javascript:如何剪切字符串的特定部分?

node.js - Cloud Firestore Node SDK - transaction.getAll 不是函数

node.js - 如何将二进制数据从 post 存储到 MongoDB

node.js - 从 Mongoose 3.x 升级到 Mongoose 4.x 时如何在模式中使用模式?

mongodb - 为 Meteor 应用程序单独托管数据库

javascript - 如何让一个移动的 Sprite 集中在屏幕上?

javascript - 为什么 React 要求在静态 propTypes 中重复使用 props?

javascript - 我想根据查询字符串将自定义 ID 附加到链接

node.js - Node JS/如何减慢 forEach 循环?

node.js - 如何设置虚拟麦克风并将音频从 node.js 传输到它