Первоначально я указал отношения, в которых контакт has_many сервисов. Таким образом, услуга имеет внешний ключ contact_id:mongodb many to many without join table
class Contact
include Mongoid::Document
field :name, type: String
end
class Service
field :name, type: String
field :contact_id, type: Integer
end
Теперь есть возможность добавить дополнительный контакт к службе, поэтому сервис имеет много контактов. Однако добавленные контакты - это те, которые уже существуют независимо. Поэтому я не хочу встраивать одну сущность в другую. Контакт и сервис всегда будут жить независимо. Нет внедрения.
Так что я должен просто хранить идентификаторы контактов внутри массива службы? Другими слова, мои новые модели будут выглядеть следующим образом:
class Contact
include Mongoid::Document
field :name, type: String
end
class Service
field :name, type: String
field :contact_id, type: Integer
field :contact_ids, type: Array, default: []
end
Или есть лучшее решение для решения многих проблем многих здесь (без вложения одного документа в другом)?