gpt4 book ai didi

ruby - 在 Mongoid 中使用 Range 数据类型

转载 作者:太空宇宙 更新时间:2023-11-03 16:02:29 25 4
gpt4 key购买 nike

我正在使用带有 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 被 mongoized(序列化)为具有键 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})

[1] https://github.com/mongoid/mongoid/blob/1f8e12c5b03da1c9bd49bab12d86bef969868fb3/lib/mongoid/extensions/range.rb#L73

[2] http://docs.mongodb.org/manual/core/index-hashed/

关于ruby - 在 Mongoid 中使用 Range 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21542120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com