Фильтр массива объектов в узле mongodb

#node.js #mongodb

Вопрос:

Я новичок в node и mongodb не могли бы вы, пожалуйста, помочь мне найти решение для меня

json

 {
    "_id" : "5e89bf850dbcde336dc1dca6",
    "academic_year" : "2020-2021",
    "batch" : {
        "_id" : "batch123456h",
        "name" : "H",
        "sort_order" : 8
    },
    "class" : {
        "_id" : "class123456789",
        "name" : "5",
        "sort_order" : 8
    },
    "curriculum" : {
        "_id" : "curriculum123",
        "name" : "CBSE"
    },
    "school_id" : "CPpbKPQTcuG97i3kv",
    "session" : {
        "_id" : "session123",
        "name" : "Morning"
    },
    "subjects" : [ 
        {
            "_id" : "JDuaSGMtxrW58",
            "name" : "INDIAN SST"
        }, 
        {
            "_id" : "subjectArtEdu6",
            "name" : "Art Education"
        }, 
        {
            "_id" : "WffTy4tTGRkqYWorkEdu",
            "name" : "Work Education"
        }, 
        {
            "_id" : "5d08b782035c5c68be840d43",
            "name" : "General science"
        }, 
        {
            "_id" : "7658gfhNNBVVert",
            "name" : "Science"
        }, 
        {
            "_id" : "subject123456",
            "name" : "Arabic"
        }, 
        {
            "_id" : "subject1234",
            "name" : "Hindi"
        }, 
        {
            "_id" : "subjectHealthAndPE",
            "name" : "Physical Education"
        }, 
        {
            "_id" : "765d8gfhNVVert",
            "name" : "Mathematics"
        }, 
        {
            "_id" : "765d8gfheHJNt",
            "name" : "Computer Science"
        }, 
        {
            "_id" : "hnAttZHatyQRA",
            "name" : "UAE SST"
        }, 
        {
            "_id" : "3h2S6noQZiAkP",
            "name" : "Islamic Studies"
        }, 
        {
            "_id" : "yj6wZhLmLWAtb",
            "name" : "Moral Education Program"
        }, 
        {
            "_id" : "subjectDesc",
            "name" : "Discipline"
        }, 
        {
            "_id" : "subject123",
            "name" : "English"
        }, 
        {
            "_id" : "subjectGenKnwi",
            "name" : "General Knowledge"
        }, 
        {
            "_id" : "subject12345",
            "name" : "Malayalam"
        }
    ],
    "updated_on" : ISODate("2021-03-24T09:50:01.661Z"),
    "updated_by" : null,
    "__v" : 0
}
  
 

И я хочу отфильтровать этот json с помощью массива тем, состоящего из _id

 sub =[subject123,subjectGenKnwi]
 

Я использовал

 let res = await models.ActiveAcademics.aggregate([{
             $match: {
                 school_id: things.school_id,
                 academic_year: things.academic_year,
                 "batch._id": things.batch,
                 "class._id": things.class,
                 "curriculum._id": things.curriculum,
                 "session._id": things.session
                 "subjects._id":{$in :{sub}}
             }
         }])
       return res
 

Я хочу вернуть все school_id,предметы,сессию,учебную программу,академический год,класс,пакет
Но это не работает для меня, можете ли вы предложить лучший способ решения этой проблемы