2010-11-24 4 views
1

Dites que nous voulons implémenter une relation suivante dans mongodb, entre 2 utilisateurs.Stockage des données de relation dans mongodb

Mais vous voulez aussi stocker un attribut de la relation (comme le temps créé ou désigné par)

Dans un modèle de relation traditionnelle, vous auriez une table de relation où ces attributs sont stockés (indexé par le 2 ID utilisateur)

Comment le feriez-vous dans Mongodb?

Si vous définissez la relation dans la table utilisateur, il est simple, mais je ne sais pas où les données d'attributs vont

class User 
    references_many :follows, :inverse_of => :followers ,:class_name=>"User" 
    references_many :followers, :inverse_of => :follows ,:class_name=>"User" 
+0

question très similaire ici: - http://stackoverflow.com/questions/4253496/mongodb-relationships-for-objects –

+0

Je ne pense pas que la question est semblable à tous. Je pose une question très précise sur où les données de relation devraient être stockées –

Répondre

1

Vous stockerait l'utilisateur Ids à l'intérieur du modèle de l'utilisateur comme un tableau. par exemple

class User 
    ... 
    key :follower_ids, Array, :typecast => 'ObjectId' 
    many :followers, :in => :follower_ids 

+0

mais où vais-je stocker les données sur la relation, pas l'objet? –

Questions connexes