MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Requête par type de tableau - MongoDB

C'est le comportement attendu. Vous pouvez simplement le faire en utilisant la "dot notation" et le $exists opérateur

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

Une autre façon de procéder consiste à utiliser l'agrégation et le $isArray opérateur disponible dans MongoDB 3.2. Mais c'est moins efficace car $redact effectue une analyse de collection.

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