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

Sådan filtreres array i en mongodb-forespørgsel

Hvis du kun vil have objektet inde i StackSummaries-arrayet, skal du bruge $unwind klausul for at udvide arrayet, filtrer de ønskede dokumenter og projicer derefter kun de dele af dokumentet, som du rent faktisk ønsker.

Forespørgslen ville se nogenlunde sådan ud:

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

Nyttige links:



  1. Godkendelsesfejl under forsøg på at gemme til mongodb

  2. Opdater enhed i redis med spring-data-redis

  3. Pymongo finder værdi i underdokumenter

  4. Hvordan får man samme rang for samme score i Redis' ZRANK?