Я пытаюсь утверждать, используя RSpec, что заданный монгоидный запрос не загрузит запись, просто проверит ее существование, потому что запись большая (несколько МБ), а код должен знать только, существует ли запись.
Я играл с .exists?
в ассоциациях, но по какой-то причине это не работает с has_one
, например:
class Profile
include Mongoid::Document
has_one :chart
end
class Chart # this is heavy
include Mongoid::Document
belongs_to :profile
end
profile.chart.exists? # fails if chart returns nil
The существует?
метод прокси явно не работает для отношений has_one
; хотя это задокументировано для has_many
. Я хочу создать свой собственный, но мне нужно проверить в RSpec, что действительно запись только запрашивается, а не загружается. Я думаю о том, чтобы сделать что-то вроде тестирования базового запроса, сгенерированного для драйвера Mongo, как вы можете сделать с .to_sql
. Существует ли соответствующий монгоидный метод?