我使用带有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”的字段上创建索引吗?
由于
答案 0 :(得分:2)
一个范围被mongoized(serizalized)作为哈希,其中包含键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})