ОБНОВЛЕНИЕ : приведенный ниже код аналогичен рабочему процессу моделей. Я попробовал его после некоторого кодирования, и он не работал!
Допустим, у вас есть модель Post и модель пользователя.
Пользователь has_many сообщений, и вы хотите, чтобы все пользователи (авторы) со своими сообщениями.
Вот совет, чтобы справиться с этим.и мой пример выбирает один пост.
post.rb
class Post
include MongoMapper::Document
key :title, String
key :body, String
key :user_id, ObjectId
belongs_to :user
end
и user.rb
class User
include MongoMapper::Document
key :name
many :posts, :embed => :title
end
Сейчас,
u = User.first
p = u.posts.first
puts p.title # read it from embedded doc
puts p.body # lazy loading
Хитрость заключается в том, чтобы встроить наиболее распространенные поля, такие как имя пользователя, _id, slug пользователя и т. Д.
Я не проверял вышеизложенное, но вы должны попробовать!
Best --Amr