我正在使用带有 rails-api ( https://github.com/rails-api/rails-api ) 的 Mongoid (4.0.0.alpha2 )。
我正在寻找在我的模型中使用“范围”(http://mongoid.org/en/mongoid/docs/documents.html#fields)作为数据类型的示例。
我可以在数据类型为“Range”的字段上创建索引吗?
谢谢
我正在使用带有 rails-api ( https://github.com/rails-api/rails-api ) 的 Mongoid (4.0.0.alpha2 )。
我正在寻找在我的模型中使用“范围”(http://mongoid.org/en/mongoid/docs/documents.html#fields)作为数据类型的示例。
我可以在数据类型为“Range”的字段上创建索引吗?
谢谢
Range 被 mongoized(序列化)作为带有键 max 和 min[1] 的哈希,例如:
(0..10)
将存储在 MongoDB 中
{"max": 10, "min": 0}
所以是的,您可以在范围字段上创建索引,但您想使用 max 和 min 键创建索引:
index(:"myfield.max" => 1, :"myfield.min" => 1)
因为如果您在哈希(myfield)上创建索引,它将不会在像[2]这样的查询中使用:
MyDocument.where(:"myfield.min" => {:$gte => 1}, :"myfield.max" => {:$lte => 9})