Docs Menu

コレクション構成

このガイドでは、 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マニュアルの「 照合 」ガイドを参照してください。

Mongoidアプリケーションで指定したコレクションオプションを適用するには、対応するコレクション を明示的に作成する必要があります。 そのためには、 シェルで次のコマンドを実行中、db:mongoid:create_collections Rakeタスクを使用します。

rake db:mongoid:create_collections

次の例に示すように、Rails コンソールの単一のモデルで create_collection コマンドを実行することもできます。

Model.create_collection