2016-10-29 78 views
0

我想過濾不僅字段,而是我的數組字段內的對象。參考下面的示例中,分段字段,我想我的客戶只能獲得在段的那些對象數組,其中isReleased === true如何根據流星發佈中的謂詞過濾子文檔(數組)?

示例模式

{ 
    _id:  123456, 
    segments: [ 
     { 
      name: 'Type A', 
      isReleased: false, 
     }, 
     { 
      name: 'Type B', 
      isReleased: false, 
     }, 
     { 
      name: 'Type C', 
      isReleased: true, 
     } 
    ], 
} 

所以基本上,我想我的客戶只收到,

{ 
    _id:  123456, 
    segments: [ 
     { 
      name: 'Type C', 
      isReleased: true, 
     } 
    ], 
} 
+0

的(http://stackoverflow.com/questions/3985214/retrieve-only-the-queried-element-in-an-object-array [MongoDB中集合的對象陣列中只檢索所查詢的元素]可能的複製-in-mongodb的收集) –

回答

0

您可以使用$elemMatch運算符。查詢會是這樣的:

Schema.find({segments: {$elemMatch: {isReleased: true}}},...) 

您可以查看鏈接上的示例以瞭解更多詳細信息。