MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Interrogazione per tipo di array - MongoDB

Questo è il comportamento previsto. Puoi farlo semplicemente usando la "dot notation" e $exists operatore

db.hello.find({ 'hobbies.0': { '$exists': true } } )

Un altro modo per farlo è utilizzare l'aggregazione e $isArray operatore disponibile in MongoDB 3.2. Ma questo è meno efficiente perché $redact esegue una scansione della raccolta.

 db.hello.aggregate([ 
    { "$redact": { 
        "$cond": [
             { $isArray: "$hobbies" }, 
             "$$KEEP", 
             "$$PRUNE" 
        ]
    }}
])