這是非常奇怪的......我用一個ref填充()填充我的架構內的數組,但是然後屬性無法訪問。換句話說,模式是這樣的:無法從Mongoose訪問populate()的d對象的屬性?
new Model('User',{
'name': String,
'installations': [ {type: String, ref: 'Installations'} ],
'count': Number,
}
當然,Insallations是另一種模式。
然後我找到&填充一組用戶的...
model.find({count: 0}).populate('installations').exec(function(e, d){
for(var k in d)
{
var user = d[k];
for(var i in user.installations)
{
console.log(user.installations[i]);
}
}
});
到目前爲止好!我看到打印出來好看的數據,這樣的:
{ runs: 49,
hardware: 'macbookpro10,1/x86_64',
mode: 'debug',
version: '0.1' }
但是,如果我嘗試實際訪問任何這些屬性,它們都是不確定的!例如,如果我添加另一個控制檯日誌:
console.log(user.installations[i].mode);
然後,我看到「未定義」打印此日誌。 如果我嘗試的對象進行操作,像這樣:
Object.keys(user.installations[i]).forEach(function(key) { });
然後我得到一個典型的「[類型錯誤:Object.keys呼籲非對象]」的錯誤,表示user.installations [i]是不是一個對象(即使它被輸出到控制檯,就好像它一樣)。所以,我甚至嘗試了一些醜陋的像...
var install = JSON.parse(JSON.stringify(user.installations[i]));
console.log(install, install.mode);
,並再次第一輸出(安裝)是包含屬性「模式」一個不錯的對象......但第2個輸出是不確定的。
什麼給?