2013-05-01 95 views
3

的數組我有以下模式:在貓鼬,如何篩選對象

var sampleSchema = new Schema({ 
    name: String, 
    dates: [{ 
    date: Date, 
    duration: Number 
    }] 
}); 

我需要根據以下規則過濾器中的記錄:如果日期中的一個比一個給定的日期晚date_begin,保持記錄,否則,不要。

我有$ GTE或$ LTE是我所需要的功能的印象,但我不能找到一種方法,正確地使用它們。我試過

sampleSchema.find({date_begin: {$gte: 'date'}}); 

或其中的一些變體,但我似乎無法使其工作。任何人有我應該怎樣做到這一點的想法?

回答

5

要執行查詢的元素的內部陣列,$elemMatch用於:

sampleSchema.find({ dates : { $elemMatch: { date : { $gte: 'DATE_VALUE' } } })