Объединить два набора запросов - Ruby on Rails с MongoDB - PullRequest
0 голосов
/ 18 мая 2018

У меня есть две разные модели, например 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.

Любая помощь будет отличной!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...