2017-07-03 6 views
2

auszuschließen ich bevölkern in meiner Rolle Dokument _KonzerneffekteMungo Wie _id von besiedelten

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

ich auch die _id des _Konzerneffekte

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

wie kann ich der _group._id loswerden ?

Ich habe versucht:

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

aber es löst einen Fehler aus: Projektion keine Mischung von Inklusion und Exklusion haben.

und

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

entfernt nur die role._id

Dank für Feedback

+1

Verwendung wählen in bevöl {wählen: ‚- _id '} –

+0

kann auch query.only verwenden, aber es ist veraltet http://mongoosejs.com/docs/2.7.x/docs/query.htm l # nur –

Antwort

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

Verwenden Sie diese Logik in Ihrem Beispiel

+0

Vielen Dank ... Aber was für eine seltsame Art und Weise mit minus und nicht 0 wie für die doc Id ... – erwin