1

在我的猫鼬模型中,我有一个这样的用户模式:

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);

我正在尝试从该文档中获取 pages 数组,如下所示:

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] ]。我可以在 smog(基于 Web 的 mongodb 管理查看器)中看到该数组及其数据,但我似乎无法使用 javascript 访问它。

先感谢您。

4

1 回答 1

1

console will always print the array with objects as [object object]. pages is actually an array of object, So you can specify an index to the pages array like this

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

or if the pages array contain more than one element you want a regular for loop

for (var i = 0; i<user[0].pages.length; i++) {
  // use i as an array index
  console.log(user[0].pages[i]);
} 
于 2013-08-27T11:16:01.893 回答