In Mongoose, how to filter an array of objects

I have the following schema:

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

I'd need to filters the records according to the following rule: if one of dates is later than a given date date_begin, keep the record, otherwise, don't.

I have the impression that $gte or $lte are the function I need, but I can't find a way to use them correctly. I tried

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

or some variants of that, but I can't seem to be able to make it work. Anyone has an idea of how I am supposed to do this?

To do querying on elements inside arrays, $elemMatch is used :

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