Многие ко многим против один ко многим в MongoDB дизайн с MongoMapper - PullRequest
1 голос
/ 19 января 2012

Есть один пример, подобный этому:

class Book
  include MongoMapper::Document
  key :title
  key :author_ids, Array
  many :authors, :in => :author_ids
end

class Author
  include MongoMapper::Document
  key :name
end

Это эквивалентно

class Book
  include MongoMapper::Document
  key :title
  many :AuthorHasBook
end

class AuthorHasBook
  include MongoMapper::Document
  key :written_time

  belongs_to :book, :class_name => "Book"
  belongs_to :author, :class_name => "Author"
end

class Author
  include MongoMapper::Document
  key :name
  many :AuthorHasBook
end

Что лучше? Я думаю, если мне нужно добавить несколько полей для "реляционной" сущности, я должен использовать 2-е решение?

Заранее спасибо!

1 Ответ

1 голос
/ 19 января 2012

Вы должны использовать

many :author_has_books

чтобы MongoMapper мог подобрать имя вашего класса и связать его. Не уверен, что это сработает иначе.

Единственное другое отличие состоит в том, что вы можете обратить многие ассоциации ко многим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...