无法访问现有对象属性

时间:2017-04-10 12:42:29

标签: javascript node.js mongoose

好的,所以这是我在这里的第一个问题(但我已经多次来过这里,总能找到解决问题的正确答案)。无论如何,让我们谈谈:

我是Node和Mongoose的新手,我有以下问题:

我正在查询Mongoose,看起来像:

myProblem() {
    const channels = DreamProperties.find({
        'status': 'ON',
        'updatedAt': { $exists: true }
    }, {
        '_id': 0,
        'channel.channelName': 1,
        'updatedAt': 1
    }, (error, result) => {
        if (error) return error;
    })
    console.log(channels);

    return channels;
}

这很好用,它会返回所需的字段(updatedAT来自Mongoose中的内置时间戳)。 但是,当我尝试访问该字段时(我想用我需要的正确的键名构建另一个对象),在返回之后 - 它是未定义的。

Promise.all([
        0 PROMISE
        1 PROMISE
        2 PROMISE
        data.myProblem()
    ]).then(promiseData => {
        let result = {};
        for (var i = 0; i < promiseData[3].length; i++) {
            result = {
                'name': promiseData[3][i].channel.channelName,
                'y': promiseData[3][i]
            }
        }
        console.log(result);
        console.log(promiseData[3][2].updatedAt); // returns undefined
        console.log(promiseData[3][2].channel); //returns desired result

我不知道我的问题是否通过摘要变得清晰,所以请告诉我是否需要澄清。

0 个答案:

没有答案