Dette er den forventede adfærd. Du kan blot gøre dette ved at bruge "dot notation" og $exists
operatør
db.hello.find({ 'hobbies.0': { '$exists': true } } )
En anden måde at gøre dette på er ved at bruge aggregering og $isArray
operatør tilgængelig i MongoDB 3.2. Men dette er mindre effektivt, fordi $redact
laver en samlingsscanning.
db.hello.aggregate([
{ "$redact": {
"$cond": [
{ $isArray: "$hobbies" },
"$$KEEP",
"$$PRUNE"
]
}}
])