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

Comment filtrer un tableau dans une requête mongodb

Si vous voulez uniquement l'objet à l'intérieur du tableau StackSummaries, vous devez utiliser le $unwind clause pour développer le tableau, filtrer les documents que vous souhaitez, puis projeter uniquement les parties du document que vous souhaitez réellement.

La requête ressemblerait à ceci :

db.cf_list_stacks.aggregate([
    { '$unwind' : '$StackSummaries' },
    { '$match' : { 'StackSummaries.StackStatus' : 'CREATE_COMPLETE' } },
    { '$project' : { 
         'TemplateDescription' : '$StackSummaries.TemplateDescription',
         'StackStatusReason' : '$StackSummaries.StackStatusReason',
         ...
    } }
])

Liens utiles :