2013-08-27 32 views
1

在我的貓鼬模型我有一個用戶模式是這樣的:Mongoose.js無法從我的文檔中的陣列

var userSchema = mongoose.Schema({ 
_id : String, 
username: String, 
name : String, 
timestamp : { type : Date, default: Date.now }, 
admin : Boolean, 
pages : [String] 
}); 
var User = mongoose.model('User', userSchema); 

,我試圖從像這樣的文件得到頁面數組:

function isUserPage(userId, pageId, callback) { 
models.User.find({_id: userId}, function(err, user) { 
    console.log('user pages: ' + JSON.stringify(user[0].pages)); 
... 
}); 

問題是我的console.log正在輸出[[object object]]。我可以看到數據在煙霧中的數據(基於web的mongodb管理查看器),但我似乎無法用javascript訪問它。

提前感謝您。

回答

1

控制檯將始終使用[object object]作爲對象打印數組。 pages實際上是對象的數組,所以你可以這樣

console.log(user[0].pages[0]); 

指定索引的頁面陣列或者如果pages數組包含多個元素,你要爲循環定期

for (var i = 0; i<user[0].pages.length; i++) { 
    // use i as an array index 
    console.log(user[0].pages[i]); 
}