mongoose如何从填充的中排除_id

时间:2017-07-03 07:28:55

标签: node.js mongoose mongoose-populate

我在我的角色文档中填充_group

let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory,
                                                               in: .userDomainMask,
                                                               with: [DownloadRequest.DownloadOptions.removePreviousFile])

我也得到_group

的_id
return this.find(query, {'_group': 1, 'name':1, 'description': 1} )
  .populate('_group', ['name', 'description'])
  .sort({ createdAt: -1 })
  ...

如何摆脱_group._id?

我试过了:

{"_id":"5959ef7db9938a0600f05eb2",
"_group":{
    "_id":"5959ef7db9938a0600f05eae",
    "name":"GroupA",
     "description":"Description GroupA"
 },
"name":"manager",
"description":"can R group, can RW user"},

但它引发了一个错误:投影不能混合包含和排除。

 return this.find(query, {'_group': 1, 'name':1, '_group._id':0, '_id':0} )

仅删除role._id

感谢您的反馈

1 个答案:

答案 0 :(得分:3)

return this.find(query, {'_group': 1, 'name':1, 'description': 1} ).
    populate({
        path: '_group',
        select: 'name description -_id',
      }).sort({ createdAt: -1 })

在您的示例中使用此逻辑