#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,предметы,сессию,учебную программу,академический год,класс,пакет
Но это не работает для меня, можете ли вы предложить лучший способ решения этой проблемы