0

rails/mongodbを使用して、編集日を保存する最良の方法は何ですか? 何が編集されたかは気にしませんが、編集された日付は気にします。

より良いモデルは、図書館の本の例です。

1 冊の本が何度もチェックアウトとチェックインされます。単純に、チェックアウト日とチェックイン日を保存したいのです。

1 つのコレクション内の 1 つの配列でこれを行うことは可能ですか、それとも「チェックアウト」とエントリ (または本には多くの「チェックアウト」があります) 用に別のコレクションを作成する必要がありますか?

4

1 に答える 1

1

あなたが与えた本の例に基づいて、何千ものチェックアウトを計画していない場合、最良の方法は、チェックアウトのコレクションを (日付と必要なフィールドとともに) Books コレクションに埋め込むことだと思います。

ただし、ブックをロードするたびに、そのすべてのチェックアウトもロードされることに注意してください。基本的には、本を取得するときに日付が頻繁に必要になる場合は便利ですが、めったに必要ない場合は、これを行いたくない場合があります。

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
于 2013-04-29T19:37:52.437 に答える