答:
```javascript
db.student3.aggregate([
{
$lookup:
{
from: 'products2', // 右集合
let: {
student_products: "$product_ids",
},
pipeline: [
{
// 应该循环匹配
$match: {
$expr:
{
$in: ["$_id", "$$student_products"]
}
}
},
{
// 子文档使用lookup
$lookup: {
"from": "test_size",
"localField": "size",
"foreignField": "_id",
"as": "size"
}
},
{
$project: {
_id: 0
}
}
],
as: 'order_products' // 新生成字段(类型array)
},
},
{
$project: {
product_ids: 0
}
}
])
```