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, pass: 'mangakas123', user: 'kirbo', imagen: [ { title: 'DQ monstes', name: 'DragonQuest1and2EnemySpriteGallery_02.png', 描述: 'DQ 怪物合集' ,_id:50f41f868e7f9919c7000006 } ],时间线:[],通知:[],关注者:['50f41c8c59ebd50fc4000006'],关注:[] } ]

我想要这个:

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

谢谢提前!

4

1 回答 1

1

you can exclude other fields like this

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

  user.imagen 

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

    res.send(imagen);

});

see the second parameter for find(): http://docs.mongodb.org/manual/reference/method/db.collection.find/

于 2013-01-14T15:38:18.957 回答