Това е очакваното поведение. Можете просто да направите това, като използвате "нотация с точки" и $exists
оператор
db.hello.find({ 'hobbies.0': { '$exists': true } } )
Друг начин да направите това е чрез използване на агрегиране и $isArray
оператор, наличен в MongoDB 3.2. Но това е по-малко ефективно, защото $redact
прави сканиране на колекция.
db.hello.aggregate([
{ "$redact": {
"$cond": [
{ $isArray: "$hobbies" },
"$$KEEP",
"$$PRUNE"
]
}}
])