Хранение данных отношений в mongodb - PullRequest
1 голос
/ 24 ноября 2010

Допустим, мы хотим реализовать следующие отношения в mongodb между двумя пользователями.

Но вы также хотите сохранить некоторый атрибут об отношениях (например, время, созданное или на которое ссылается)

В традиционной модели отношений у вас будет таблица отношений, в которой хранятся эти атрибуты (проиндексированные с помощью двух идентификаторов пользователя)

Как бы вы сделали это в Mongodb?

Если вы определите отношение в таблице User, это просто, но я не уверен, куда пойдут данные атрибута

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

1 Ответ

1 голос
/ 25 ноября 2010

Вы бы сохраняли идентификаторы пользователя внутри модели пользователя в виде массива.например,

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