数组的行为不像数组



我正在使用express、node和mongoose。如果我访问我的mongoDB数据库并console.log,我就会得到我的数组:

module.exports ={
stories: function(req, res, next){

Story.find(function(err, stories){


if(err) return handleError(err);
console.log(stories)
res.render('dashboard', {
err,
stories
})
})
}
}

输出

'0': {
_id: new ObjectId("6206613aeb4f95fd983f94ba"),
username: 'David N.',
content: '   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,   content,v',
date: 2022-02-11T13:14:34.461Z,
__v: 0
}

但我不会做点记法!

module.exports ={
stories: function(req, res, next){
Story.find(function(err, stories){

if(err) return handleError(err);
console.log(stories.username)
res.render('dashboard', {
err,
stories
})
})
}
}

则输出为:未定义

请有人向我解释一下,发生了什么,例如,我如何访问用户名?

由于故事是一个数组,因此可以使用索引访问数组中的元素。在这种情况下,如果你想记录第一个故事的用户名,你需要做

console.log(stories[0].username) 

看起来Stories是一个数组,所以您需要执行stories[0].username

最新更新