2015-10-08 94 views
0

我試圖用看起來像這樣的代碼來檢索貓鼬中的對象數組。在貓鼬中嵌套對象

mongoPlaces 
      .find({ 
       'person.types': {$in: ["student"]} 
      }) 
      .select('family') 
      .lean() 
      .limit(3) 
      .exec(function (err, families) { 
       console.log() 

      }) 

的結果是這樣的

[ 
0: family:{objects} 
1: family:{objects} 
2: family:{objects} 
] 

,我需要這樣的

[ 
0: {objects} 
1: {objects} 
2: {objects} 
] 

是有一些方法使用檢索對象,而不是對象本身的內容貓鼬,而不必做一個循環,糾正陣列或有任何其他方式來做到這一點乾淨?

回答

3

有沒有辦法與貓鼬做到這一點,但也有使其乾淨的方式:

mongoPlaces 
    .find({ 
     'person.types': {$in: ["student"]} 
    }) 
    .select('family') 
    .lean() 
    .limit(3) 
    .exec(function (err, docs) { 
     var families = docs.map(function pluckFamily(doc) { 
      return doc.family; 
     }); 
     return families; 
    }); 

在這個例子中,map張進檢索文檔的功能pluckFamily,形成另一個數組與所有的該函數返回的值。

如果你打算做很多事情,你可能想看看下劃線庫。它包括一個pluck function

+0

謝謝!這非常有用! –