Я новичок в MongoID (& mongoDB) и у меня проблемы с производительностью из-за извлечения данных из коллекции ссылок.
class Accounting::Invoice
include Mongoid::Document
belongs_to :contact, :class_name => 'Contact'
End
class Contact
include Mongoid::Document
field :name, type: String
end
Также используется гем 'kaminari-mongoid' для подкачки.
Упрощенная версия моего запроса:
@invoices = Accounting::Invoice.all.page(params[:page].to_i)
<% @invoices.each do |inv| %>
<% inv.contact.name %>
<% end %>
Проблема в том, что когда я отображаю данные, чтобы просто получить имя из коллекции контактов, мне нужно повторно подключиться к БД и вытащить имя для каждого списка. Я попытался использовать $ lookup, однако, когда я делаю это, пейджинг с kaminari не работает ...
Любые предложения о том, как получить имя контакта без необходимости повторного подключения к базе данных?
Спасибо