Mongoose从数组元素中选择特定字段

时间:2016-01-07 08:08:35

标签: node.js mongodb mongoose

假设我有这个架构

{
jedi: [{
       name:String
       lightsaber_color:String
      ]}
}

我想要返回所有内容,只返回它们的名称。 我试过了

Jedi.find({})
    .select('jedi.name')
    .exec(function (err, jedi) {
      if (err) {
        console.log("nothing found")
      }
}

它没有给我任何回报,而这段代码给我带来了一切。

Jedi.find({})
        .select('jedi')
        .exec(function (err, jedi) {
          if (err) {
            console.log("nothing found")
          }
    }

我看到jedi是一个数组,所以我认为.select('jedi.name')可能不适用于这个原因。
这样做的正确语法是什么?

1 个答案:

答案 0 :(得分:0)

你可以试试这个

Jedi.find({}, {'jedi.name':1}, function (err, jedi) {
      if (err) {
        console.log("nothing found")
      }
      else{
        console.log(jedi);
      }
}