rails-api ( https://github.com/rails-api/rails-api )で Mongoid (4.0.0.alpha2) を使用しています。
モデルのデータ型として「Range」( http://mongoid.org/en/mongoid/docs/documents.html#fields )を使用する例を探しています。
データ型が「Range」のフィールドにインデックスを作成できますか?
ありがとう
rails-api ( https://github.com/rails-api/rails-api )で Mongoid (4.0.0.alpha2) を使用しています。
モデルのデータ型として「Range」( http://mongoid.org/en/mongoid/docs/documents.html#fields )を使用する例を探しています。
データ型が「Range」のフィールドにインデックスを作成できますか?
ありがとう
Range は、キー max と min[1] を持つハッシュとしてモンゴ化 (シリアル化) されます。例:
(0..10)
としてMongoDBに保存されます
{"max": 10, "min": 0}
はい、範囲フィールドにインデックスを作成できますが、最大キーと最小キーを使用してインデックスを作成したいと考えています。
index(:"myfield.max" => 1, :"myfield.min" => 1)
ハッシュ (myfield) に対してインデックスを作成すると、[2] のようなクエリでは使用されないためです。
MyDocument.where(:"myfield.min" => {:$gte => 1}, :"myfield.max" => {:$lte => 9})