我试图创建一个Tour
与Steps
在Ruby和Mongoid序列:如何管理的Mongoid和红宝石
class Tour
include Mongoid::Document
field :name, type: String
embeds_many :steps
end
class Step
include Mongoid::Document
field :name, type: String
embedded_in :tour
end
什么是最好的方式来管理的步骤的有序序列?(考虑:插入,删除,走动步骤)
我的第一反应就是做一个单向链表风格,存储下一个步骤:
class Step
include Mongoid::Document
field :name, type: String
embeds_one :step, store_as: "next_step"
embedded_in :tour
end
兴趣,如果任何人有更好的设计建议:)
谢谢!
如果您想更改步骤顺序,使用单向关系会导致难以维护。为什么不保持embeds_many +一个顺序字段? – apneadiving
感谢您的及时回应@apneadiving :) –
它回答你的问题吗? – apneadiving