Можете да направите това с рамката за агрегиране.
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"
}
}
}}
])
Започвайки от MongoDB 3.2, можете директно да проектирате полето за масив от поддокумент.
{ "$project": { "hash": 1, "key": "$software.adobe.licenses.key"}}