0

我正在建立一个涉及汽车维修的项目。我有一个允许创建服务的管理面板,并且每个服务都有许多要执行的检查(检查本身并属于多个服务)。解决方案如下所示:

  class Service
  include Mongoid::Document
  field :name, type: String
  field :price, type: Integer
  has_and_belongs_to_many :checks
end

class Check
  include Mongoid::Document
  field :name, type: String
  has_and_belongs_to_many :services
end

这些检查是在实例“约会”上执行的。因此,在进行预约时,会显示所有必要的检查(取决于服务类型)。

创建和存储这些检查实例的最佳方法是什么?在 mySQL 中,我将创建一个以约会 ID 和 check_id 作为复合键的约会检查表,并在其中包含检查的详细信息。

这是在 MongoDB 中解决此问题的最佳方法吗?但这肯定涉及到一个连接..

有我缺少的解决方案吗?

谢谢

4

1 回答 1

0

MongoDB 不知道连接的概念。因此,在您的情况下,您将没有appointment_check表,因为 has_and_belongs_to_many 只是两边的 id 数组。在你的情况下,我会做的是belongs_to :appointment在 Check 模型中有 a ,这样你就可以在同一个文档中拥有 aappointment_id和 the 。check_id

于 2013-10-29T18:40:19.403 回答