查询子文档的mongodb集合

时间:2021-02-28 23:58:33

标签: mongodb mongodb-query

我在 2 个不同的集合中有以下文档

db.getCollection('teachers').insert( `{"teacherID":"7100", "teacherName":"John Smith" ,
    "skillSet":["SetA","SetB"],
    "replacement":[
        {"teacherID":"8100", "startDt":"2021-01-01", "endDt":"2021-01-31"},
        {"teacherID":"8200", "startDt":"2021-01-01", "endDt":"2021-01-31"}
    ]
},
{"teacherID":"8100", "teacherName":"Rob Perry" ,
    "skillSet":["SetC"]
},
{"teacherID":"8200", "teacherName":"Matt Wolf" ,
    "skillSet":["SetA","SetD"]
}

db.getCollection('skills').insert({"skillSet":"SetA", "subjects":["Science", "English"]},{"skillSet":"SetB", "subjects":["Biology", "Zoology"]},{"skillSet":"SetC", "subjects":["English", "Drawing"]},{"skillSet":"SetD", "subjects":["Math-I", "Math-II"]})

对于teacherID=7100,我想查找替代教师列表及其技能和相关技能数据

例如teacherID=7100

{ "replacement":[{"teacherID:"8100", "startDt":"2021-01-01", "endDt":"2021-01-31", "skillSet":[{"SetC","subjects":["English", "Drawing"]}},{"teacherID:"8200", "startDt":"2021-01-01", "endDt":"2021-01-31", "skillSet":[{"SetA","subjects":["Science", "English"]},{"SetD","subjects":["Math-I", "Math-II"]}

}

我尝试了以下方法 匹配 teacherId 展开替换 查找 replacement.teacherIDteachers.teacherIDreplacement.skillSet 查找到 skills.skillSet 我得到了我想要的结果,但正在寻找改进查询的建议

0 个答案:

没有答案