2013-01-14 157 views
0

這是我使用的模式顯示一個特定的陣列:從貓鼬模式

var userschema = new mongoose.Schema({ 

    user: String, 
    pass: String, 
    imagen: [{ 

       title: String, 
       name: String, 
       description: String 

}); 

這是我在做什麼:

usermodel.find({ 'imagen._id': req.params.id }, function (err, imagen){ 

    user.imagen 

    if(err) throw err; 
    console.log(imagen); 

    res.send(imagen); 

}); 

我想收到什麼只是imagen陣列中的元素我正在尋找_id,但取而代之的是,我收到了用戶的洞圖,他的所有圖像都是白色的。有什麼只接收我正在尋找的數組對象?這是一個例子:

[{__v:3, _id:50f41ccff405ef73c4000006, 通: 'mangakas123', 用戶: 'kirbo', imagen畫質: [ {標題: 'DQ monstes', 名: 'DragonQuest1and2EnemySpriteGallery_02.png', 描述: 'DQ怪獸的彙編', _id:50f41f868e7f9919c7000006}], 時間表:[], 通知:[], 追隨者:[ '50f41c8c59ebd50fc4000006'], 如下:[ ]}]

我想要這個:

[{ title: 'DQ monstes', 
    name: 'DragonQuest1and2EnemySpriteGallery_02.png', 
    description: 'A compilation of DQ monsters', 
    _id: 50f41f868e7f9919c7000006 }] 

謝謝先遣!

回答

1

可以排除其他領域類似這樣的

usermodel.find({ 'imagen._id': req.params.id },{'imagen':true}, function (err, imagen){ 

    user.imagen 

    if(err) throw err; 
    console.log(imagen); 

    res.send(imagen); 

}); 

見find()方法的第二個參數:http://docs.mongodb.org/manual/reference/method/db.collection.find/

+0

它的工作原理,但不知道如何我的預期。我得到了hole'image'數組,不僅是我正在尋找的'_id'的數組元素,並且控制檯在顯示'imagen'數組後顯示出這個錯誤:'Can not read property'_id'null' 。爲什麼會發生?貓鼬完美地讀取數組,並在控制檯中顯示它。 – MrMangado