Mongoose.js无法从我的文档中获取数组
在我的mongoose模型中,我有这样的用户架构:
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的mongodbpipe理查看器)中的数据,但我似乎无法用JavaScript访问它。
先谢谢你。
控制台将始终使用[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]); }