2017-07-03 82 views
2

排除_id我填充_group我的角色文档中猫鼬如何从人口

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

我得到的也是_group

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

的_id我怎样才能摆脱_group._id的?

我想:

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

,但它提出了一个错误:投影不能包容和排斥的组合。

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

只删除role._id

感谢反馈

+1

使用选择填入{选择:“ - _id'} –

+0

也可以使用query.only但不推荐使用http://mongoosejs.com/docs/2.7.x/docs/query.htm l#只有 –

回答

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

使用这种逻辑在你的榜样

+0

非常感谢... 但是,对于文档ID使用减号而不是0的奇怪方式... – erwin