MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie schließe ich nur ausgewählte eingebettete Dokumente in Mongoengine ein?

Sie können den $filter -Operator im aggregate funktionieren als

users = User.objects(school__match={ "name": "Aukamm Elementary School" }).aggregate(
    { "$project": {
        "first_name": 1,
        "last_name": 1,
        "schools": {
             "$filter": {
                  "input": "$schools",
                  "as": "school",
                  "cond": { "$eq": [ "$$school.name", "Aukamm Elementary School" ] }
             }
        }
    } }
)