Mongod deb 专辑集合包含以下项目:
var album = {
name: 'album1',
tracks: [{
title: 'track0',
language: 'en',
processing: {
tasks: [
{_id: 1, name: 'someTask1'},
{_id: 2, name: 'someTask2'},
]
}
},{
title: 'track1',
language: 'en',
},{
title: 'track2',
language: 'es',
}]
}
我只需要选择一个专辑、track0 和 _id 1 的任务,这样结果集就会看起来像(只包含一个轨道和一个任务)
{
name: 'album1'
tracks: [{
title: 'track0',
language: 'en',
processing: {
tasks: [
{_id: 1, name: 'someTask1', },
]
}
]
}
如果不使用聚合框架仅使用查找,是否可以做到这一点?
我尝试使用 $elemMatch 和 .$ 投影来限制输出,但它似乎不适用于嵌套级别 > 1(这种情况下的任务)=(