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

Comment inclure uniquement le document intégré sélectionné dans mongoengine ?

Vous pouvez utiliser le $filter opérateur dans l'aggregate fonctionner comme

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" ] }
             }
        }
    } }
)