我有一个像这样的猫鼬集合
[{
_type:'video',
_id:'video1',
status:'active'
},
{
_type:'video',
_id:'video2',
status:'active'
}]
还有这样的另一个系列
[{
_type:'product',
_id:'product1',
items:['video1']
}]
如何使用mongoose聚合来查找_type为'视频'的所有文档?在字段中引用的项目'任何_type为'产品'
的文件我想要的结果
[{
_type:'video',
_id:'video1',
status:'active'
}]
这是我迄今为止所拥有的,但是已经连接了视频'永远是一个空数组
[{
"$match":{
"_type":"product"
}
},
{
"$project": {
"items":true,
"_id":true,
"title":true
}
},
{
"$unwind":"$items"
},
{
"$lookup": {
"from": "videos",
"localField": "items",
"foreignField": "_id",
"as": "connectedVideos"
}
}
]
答案 0 :(得分:0)
事实证明,上面发布的$ lookup应该可以工作,但是并不是因为我的localField是一个字符串,我的foreignField是一个ObjectId所以我发布了一个更精致的问题,详细说明了问题在这里