【发布时间】:2021-05-08 03:05:58
【问题描述】:
我是猫鼬的新手。我尝试了很多查询,但无法获得正确的结果。 我的架构如下所示:
{
course_name: "Test 1",
students: [
{name: "Sam", age: 5},
{name: "Don", age: 7}
]
},
{
course_name: "Test 2",
students: [
{name: "Paul", age: 7}
]
}
在这个例子中,我有 2 个文档。每个课程文档都包含其中的学生数据。 我正在尝试查找年龄为 7 岁的所有课程中的所有学生。但在我尝试的查询中,它也返回 Sam。
这是我期待的一个例子:
{name: "Paul", age: 7},
{name: "Don", age: 7}
这就是我得到的。
{name: "Paul", age: 7},
{name: "Sam", age: 5},
{name: "Don", age: 7}
我的查询:
const getStudents = await Courses.aggregate([
{$match: {'students.age': myAge}},
{$unwind: '$students'},
{$project: {name: '$students.name', age: '$students.age'}}
]);
感谢您的宝贵时间
【问题讨论】: