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

そして、次のようにそのドキュメントからページ配列を取得しようとしています:

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 でアクセスできないようです。

前もって感謝します。

4

1 に答える 1

1

console は、オブジェクトを含む配列を常に [object object] として出力します。 pages実際にはオブジェクトの配列なので、このようにページ配列へのインデックスを指定できます

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

または、pages配列に複数の要素が含まれている場合は、通常の for ループが必要です

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 に答える