Mongoid, запрос незнакомца mongodb, когда используется отношение own_to - PullRequest
0 голосов
/ 14 мая 2018

Я использую mongoid 6, и у меня есть две модели в моем проекте:

class User
  belongs_to :project
end

class Project
  has_many :users
end

Когда я получаю доступ к проекту из пользовательского экземпляра, я вижу этот журнал mongodb:

> user.project
... DEBUG -- : MONGODB ... STARTED | {"find"=>"projects", "filter"=>{"_id"=>BSON::ObjectId('5accdd5775aefb2d085087e2')}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch"=>true}
... DEBUG -- : MONGODB ... SUCCEEDED | 0.000482198s

Почему для этого используются sort и limit? Этого не происходит, когда вы находите проект вручную:

> Project.find(user.project_id)
... DEBUG -- : MONGODB ... STARTED | {"find"=>"projects", "filter"=>{"_id"=>BSON::ObjectId('5accdd5775aefb2d085087e2')}}
... DEBUG -- : MONGODB ... SUCCEEDED | 0.000278153s

Это кажется медленнее и прерывает использование кэширования mongoid запросов в некоторых случаях.

...