MongoDB:是否可以将$lookup的结果限制为某些字段(作为投影)?
这里有一些代码,伙计们MongoDB:是否可以将$lookup的结果限制为某些字段(作为投影)?,mongodb,aggregation-framework,lookup,Mongodb,Aggregation Framework,Lookup,这里有一些代码,伙计们 db.collection('bugs').aggregate([{ $match: finder }, { $sort: { name: 1 } }, { $limit: startrecord + settings.pagination_limit }, { $skip: startrecord }, { $lookup: { from: 'users', localField: 'user', foreignField:
db.collection('bugs').aggregate([{
$match: finder
}, {
$sort: { name: 1 }
}, {
$limit: startrecord + settings.pagination_limit
}, {
$skip: startrecord
}, {
$lookup: {
from: 'users',
localField: 'user',
foreignField: '_id',
as: 'user'
}
}], {
collation: collation
}, function(err, docs) {
它工作得很好,是一个简单的查找。但是,我只需要集合“users”中的几个字段,$lookup返回所有内容。是否有方法将投影应用于查找结果?我只需要三个字段,
title
、firstname
和lastname
您可以添加一个$project
阶段,以限制用户
数组在$lookup
之后的字段
db.collection('bugs').aggregate([{
$project: {
"user.title": 1,
"user.firstname": 1,
"user.lastname": 1
}
}]);
这是我的第一个想法,但我必须添加所有字段。我的意思是如果有一种方法可以限制$lookup。但显然这是唯一的解决办法。谢谢