Hello!

Je souhaite développer une application nodejs/express/mongoose (donc avec une bdd mongodb).
Je commence sur ces technos, et je me pause une question pour construire ma bdd.

Je vais avoir des utilisateurs qui auront deux rôles différents, qui donneront accès a des fonctionalités en fonction de leur rôle. (roleA aura accès à la fonctionA, roleB aura accès à la fonctionB par exemple).

De ce fait, j'hésite entre deux modèle différents :
1) avoir une seule collection :

user = {
  role: "",
  fonctionA: [{}],
  fonctionB: [{}],
}

Il faudrait donc que je fasse des if au niveau de mon API pour vérifier si l'utilisateur a acces a la fonctionnalité par rapport a son rôle.

2) avoir 3 collection liées entre elles, comme aurait en sql (avec les jointure) :

user = {
  id: "",
  role: "",
}

fonctionA: [{
  user_id: ""
  ...
}]

fonctionB: [{
  user_id: ""
  ...
}]

Jusqu'à présent je n'ai jamais fait de liaison de collection sous mongodb...

Auriez-vous des conseils à me donner svp ?
Merci !

2 réponses


reivaxui
Auteur

Yep, mais comme je le disais je pense utiliser mongoose. De ce fait, je suis obligé de définir un schema il me semble non ?

reivaxui
Auteur

Ok, je vais regarder ça de plus pres, merci !
Je reviendrais pour dire si je m'en sors ou pas :)