2016-01-07 63 views
3

比方说,我有这样的架构猫鼬从数组元素选择特定字段

{ 
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") 
      } 
    } 

我看到的绝地是一个数组,所以我觉得可能.select('jedi.name')不适合这个工作的原因所在。
什么是正确的语法这样做?

回答

1

你可以用这个

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

试试你能解释一下这个语法'{“jedi.name”:1}' – r4id4

+0

在查找查询查询第一个对象,第二个对象,你可以通过你想要的任何领域得到结果,希望它能为你工作。 –

+0

如果我的答案适合您,然后批准它。 –