好的,所以这是我在这里的第一个问题(但我已经多次来过这里,总能找到解决问题的正确答案)。无论如何,让我们谈谈:
我是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
我不知道我的问题是否通过摘要变得清晰,所以请告诉我是否需要澄清。