我试图访问amount
。我可以看到数据:
架构:
var schema = mongoose.Schema({
investors : {
id : String,
amount : Number,
user_id : String,
inv_profit : Number
}
});
命令
invs2.findOne({}, function(err, data){
console.log(data)
})
输出:
{ _id: 54159a1c291df572283fa4de,
investors:
[ { inv_profit: 0,
user_id: 'userID',
amount: 1.2,
id: '1410701852660' },
{ inv_profit: 0,
user_id: 'userID',
amount: 1.2,
id: '1410701858752' } ] }
invs2.findOne({}, function(err, data){
console.log(data.investors)
})
输出:
[ { id: '1410701852660',
amount: 1.2,
user_id: 'userID',
inv_profit: 0 },
{ id: '1410701858752',
amount: 1.2,
user_id: 'userID',
inv_profit: 0 } ]
但是当我尝试访问data.investors[0].amount
时,我得到了undefined
?
即使data.investors.length
正在返回undefined
。
invs2
集合中只有一个条目。
答案 0 :(得分:1)
investors
应该被定义为模式中的数组,如果它是一个子文档数组:
var schema = mongoose.Schema({
investors : [{
id : String,
amount : Number,
user_id : String,
inv_profit : Number
}]
});