En fonction de vos besoins de requête, vous pouvez tout mettre dans le document utilisateur :
{name:"Joe"
,roles:["Admin","User","Engineer"]
}
Pour obtenir tous les Ingénieurs, utilisez :
db.things.find( { roles : "Engineer" } );
Si vous souhaitez conserver les rôles dans des documents séparés, vous pouvez inclure le _id du document dans le tableau des rôles au lieu du nom :
{name:"Joe"
,roles:["4b5783300334000000000aa9","5783300334000000000aa943","6c6793300334001000000006"]
}
et configurez les rôles comme :
{_id:"6c6793300334001000000006"
,rolename:"Engineer"
}