Puisqu'il n'y a aucun moyen de savoir quel pilote vous utilisez, voici une solution shell :
db.foo.find({
"Asset.Metadata.Platforms.Platform": {
$elemMatch: {
"@name": VAR_PLATFORM,
"PublishingRanges.PublishingRange": {
$elemMatch: {
"@startdate": {$gt: VAR_START},
"@enddate": {$lt: VAR_END}
}
}
}
}
})
Au fait, vous pouvez simplifier la structure du document en omettant Platform
et PublishingRange
et assigner des tableaux à Platforms
une PublishingRanges
respectivement.