Dependiendo de las necesidades de su consulta, puede poner todo en el documento de usuario:
{name:"Joe"
,roles:["Admin","User","Engineer"]
}
Para conseguir todos los Ingenieros, usa:
db.things.find( { roles : "Engineer" } );
Si desea mantener los roles en documentos separados, puede incluir el _id del documento en la matriz de roles en lugar del nombre:
{name:"Joe"
,roles:["4b5783300334000000000aa9","5783300334000000000aa943","6c6793300334001000000006"]
}
y configurar los roles como:
{_id:"6c6793300334001000000006"
,rolename:"Engineer"
}