Ini adalah perilaku yang diharapkan. Anda cukup melakukannya menggunakan "notasi titik" dan $exists
operator
db.hello.find({ 'hobbies.0': { '$exists': true } } )
Cara lain untuk melakukannya adalah dengan menggunakan agregasi dan $isArray
operator tersedia di MongoDB 3.2. Tapi ini kurang efisien karena $redact
melakukan pemindaian koleksi.
db.hello.aggregate([
{ "$redact": {
"$cond": [
{ $isArray: "$hobbies" },
"$$KEEP",
"$$PRUNE"
]
}}
])