У меня есть две разные модели, например CoachTrainingSession и OrganizationTrainingSession, которые имеют общее поле: client_id.
coach_training_session.rb
class CoachTrainingSession
include Mongoid::Document
include Mongoid::Timestamps
belongs_to :coach
field :session_id #firebase ID
field :date_time, type: DateTime
field :completed, type: Boolean, default: false
field :cancelled, type: Boolean, default: false
field :client_ids, type: Array
field :group_name
index({client_id: 1})
index({session_id: 1})
index({date_time: 1})
index({client_ids: 1})
index({group_name: 1})
has_many :booked_sessions
end
organization_training_session.rb
class OrganizationTrainingSession
include Mongoid::Document
include Mongoid::Timestamps
belongs_to :organization
field :session_id # firebase schedule id
field :date_time, type: DateTime
field :completed, type: Boolean, default: false
field :cancelled, type: Boolean, default: false
field :client_ids, type: Array
field :coach_ids, type: Array
field :group_name
field :recurring_sessions_id
index({client_id: 1})
index({session_id: 1})
index({date_time: 1})
index({client_ids: 1})
index({completed: 1})
index({cancelled: 1})
index({group_name: 1})
index({coach_ids: 1})
end
Когда я объединяю результаты, используя +, результатом является массив.Но мне нужен набор запросов, чтобы я мог выполнять разбиение на страницы на самом уровне БД.
organization_sessions = OrganizationTrainingSession.where(:client_ids => "58358494767f430fc4154fe8")
coach_sessions = CoachTrainingSession.where(:client_ids => "58358494767f430fc4154fe8")
Мне нужен набор запросов, который представляет собой объединение Organization_sessions и coach_sessions.
Любая помощь будет отличной!