小王学着玩 2022-06-17 20:57
浏览 24
已结题

使用mongodb一对多查询,过滤出符合条件的字表

问题遇到的现象和发生背景

一对多查询,筛选出满足条件的字表信息,怎么过滤呐,使用下面的语句字表class的master中含有不是“飞飞11”的信息,也查询出来了,哪位帮忙看看

问题相关代码,请勿粘贴截图

getCollection('student').aggregate([
{
$match: {
name: "小明"
}
},
{
$lookup: {
from: "class",
localField: "id",
foreignField: "stuid",
as: "student_class"
}
},
{
$match: {
"student_class.master": "飞飞11"
}
}
])

运行结果及报错内容

// 1

img

我的解答思路和尝试过的方法

测试数据,

我想要达到的结果

{
"_id": ObjectId("62ab3b2dba34000010002f25"),
"id": "1",
"name": "小明",
"age": NumberInt("12"),
"sex": "男",
"course": [
"数学",
"语文",
"英语"
],
"student_class": [
{
"_id": ObjectId("123123412312312300000000"),
"stuid": "1",
"name": "1001",
"master": "飞飞11"
}
]
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月25日
    • 创建了问题 6月17日