Můžete to udělat pomocí agregačního rámce.
db.repository.aggregate([
{ "$match": {
"datetime_int": { "$gte": 1451952000 },
"software.adobe.licenses.key" : { "$exists" : true }
}},
{ "$project": {
"hash": 1,
"key": {
"$map": {
"input": "$software.adobe.licenses",
"as": "soft",
"in": "$$soft.key"
}
}
}}
])
Počínaje MongoDB 3.2 můžete přímo promítat pole sub-document pole.
{ "$project": { "hash": 1, "key": "$software.adobe.licenses.key"}}