使用rails/mongodb,存储编辑日期的最佳方式是什么?我不关心编辑了什么,但我关心的是编辑的日期。
一个更好的模型是图书馆图书的例子:
一本书被多次借出和借阅——我只想存储借出日期和借阅日期。
是否可以在一个集合中的单个数组中做到这一点,或者我应该为"checkout"和条目(或"book"有许多"checkout")做一个单独的集合?
根据您给出的图书示例,如果您不打算有数千个签出,我认为最好的方法是在图书集合中嵌入一个签出集合(带有日期和您想要的任何字段)。
但是你必须记住,每次你将加载一个书,它的所有的checkout也将被加载。基本上,如果你在取书时经常需要日期,这是很好的,但如果很少,你可能不想这样做。
class Book
include Mongoid::Document
include Mongoid::Timestamps
embeds_many :checkouts
accepts_nested_attributes_for :checkouts, :allow_destroy => true
field :book_name, :type => String
attr_accessible :book_name
end
class Checkout
include Mongoid::Document
include Mongoid::Timestamps
embedded_in :book, inverse_of: :checkouts
end