$ lookup会不会将整个“查找”文档字段放入内存中,即使以后有一个$项目只会选择几个字段?
db.collection1.aggregate([
{$lookup: {
from: 'collection2',
localField: 'reference_id',
foreignField: '_id',
as: 'collection2'
}},
{$project: {
...
}}
])
我的问题是,在内部执行$ lookup之后,会有一个数组,其中包含从collection1和collection2加载到内存中的所有内容?只有这样投射才会发生?