コレクション構成
Overview
このガイドでは、 Mongoidアプリケーション内のコレクションの構成オプションを指定する方法を学習できます。
コレクション オプションの構成
コレクションの構成オプションを指定するには、store_in
マイクロで :collection_options
引数を使用します。 :collection_options
引数は、 RubyドライバーとMongoDB Server のバージョンがサポートする任意のコレクションオプションを受け入れます。
注意
Rubyドライバーで使用できるコレクションオプションの詳細については、 Rubyドライバーのドキュメントの コレクションガイドを参照してください。
次のセクションでは、Mongoid を使用するときにコレクションオプションを構成する方法の例を示します。
時系列コレクション
時系列コレクションは一定期間にわたる測定値のシーケンスを効率的に保存します。 次の例は、時系列コレクションの構成方法を示しています。
class Measurement include Mongoid::Document field :temperature, type: Integer field :timestamp, type: Time store_in collection_options: { time_series: { timeField: "timestamp", granularity: "minutes" }, expire_after: 604800 } end
時系列コレクションの詳細については、 MongoDB Serverマニュアルの「 時系列コレクション 」ガイドを参照してください。
上限付きコレクション
Capped コレクションには最大サイズまたはドキュメント数が設定されているため、指定されたしきい値を超えて増えることはありません。 次の例は、 Cappedコレクションの構成方法を示しています。
class Blog include Mongoid::Document store_in collection_options: { capped: true, size: 1024 } end
Capped コレクションの詳細については、 MongoDB Serverマニュアルの「Capped コレクション」ガイドを参照してください。
デフォルトの照合
照合 は、string を比較する方法のルールのセットです。通常、特定の 自然言語における文字列の比較が含まれます。 次の例は、コレクションで使用するデフォルトの照合を指定する方法を示しています。
class Title include Mongoid::Document store_in collection_options: { collation: { locale: 'fr' } } end
照合の詳細については、 MongoDB Serverマニュアルの「 照合 」ガイドを参照してください。
コレクション管理 Rake Task
Mongoidアプリケーションで指定したコレクションオプションを適用するには、対応するコレクション を明示的に作成する必要があります。 そのためには、 シェルで次のコマンドを実行中、db:mongoid:create_collections
Rakeタスクを使用します。
rake db:mongoid:create_collections
次の例に示すように、Rails コンソールの単一のモデルで create_collection
コマンドを実行することもできます。
Model.create_collection