MongoDB:是否可以将$ lookup的结果限制为某些字段(作为投影)?

时间:2017-02-15 20:20:01

标签: mongodb aggregation-framework lookup

这是一些代码,伙计。

def yearDiff(end: Column, start: Column): Column = {
  datediff(end, start)/365
}

它完美无缺,它是一个简单的查找。但是我只需要集合“users”中的一些字段,$ lookup返回所有内容。有没有办法将投影应用于查找结果?我只需要三个字段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) { titlefirstname

1 个答案:

答案 0 :(得分:2)

您可以在$project

之后添加user阶段来限制来自$lookup数组的字段
db.collection('bugs').aggregate([{
  $project: {
    "user.title": 1,
    "user.firstname": 1,
    "user.lastname": 1
  }
}]);