Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB:是否可以将$lookup的结果限制为某些字段(作为投影)?_Mongodb_Aggregation Framework_Lookup - Fatal编程技术网

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。但显然这是唯一的解决办法。谢谢