我正尝试在Mongo中进行如下搜索:
db.getCollection('years').find({
season: 2018,
}, {
weeks: {
$elemMatch: {
number: 5,
playerStats: {
$elemMatch: {
player: { $in: ['5b7f8e7ac8c0ef318f03ef1c'] }
}
}
}
}
})
它肯定不会返回正确的结果,所以我将描述我想做的事情:
我有一个年度文档,其中一个字段称为季节,我只想要与2018年匹配的季节文档。在该文档中,有一系列星期,我只希望指定数字5的星期。到目前为止,我可以做到这一点查询没问题。每个星期的文档都有一个playerStats数组,我想按它们的ID进行过滤,这就是问题所在,当我运行此查询时,我得到一条带有ID且没有其他字段的记录。我是Mongo的新手,所以可能是我的设计错误或我的查询有任何建议吗?
编辑:请求的预期结果:
{
season: 2018,
weeks: [{
number: 5,
playerStats: [...these would be filtered by their player field]
]
}]
}