A seconda delle tue esigenze di query puoi inserire tutto nel documento utente:
{name:"Joe"
,roles:["Admin","User","Engineer"]
}
Per ottenere tutti gli ingegneri, usa:
db.things.find( { roles : "Engineer" } );
Se desideri mantenere i ruoli in documenti separati, puoi includere l'_id del documento nell'array dei ruoli invece del nome:
{name:"Joe"
,roles:["4b5783300334000000000aa9","5783300334000000000aa943","6c6793300334001000000006"]
}
e imposta i ruoli come:
{_id:"6c6793300334001000000006"
,rolename:"Engineer"
}