2017-07-03 68 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