Karena tidak ada cara untuk mengetahui driver apa yang Anda gunakan di sini adalah solusi shell:
db.foo.find({
"Asset.Metadata.Platforms.Platform": {
$elemMatch: {
"@name": VAR_PLATFORM,
"PublishingRanges.PublishingRange": {
$elemMatch: {
"@startdate": {$gt: VAR_START},
"@enddate": {$lt: VAR_END}
}
}
}
}
})
Omong-omong, Anda dapat menyederhanakan struktur dokumen dengan menghilangkan Platform
dan PublishingRange
dan menetapkan array ke Platforms
sebuah PublishingRanges
masing-masing.