我在 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.teacherID
到 teachers.teacherID
从 replacement.skillSet
查找到 skills.skillSet
我得到了我想要的结果,但正在寻找改进查询的建议