集合配置
配置文档集合
您可以使用store_in
宏来指定文档的集合选项。此宏接受 :collection_options
参数,它可以包含由驱动程序支持的任何集合选项。
注意
为了应用选项,必须在开始时明确创建集合。这应使用集合管理 Rake 任务.
请参阅驱动程序集合页面获取有关集合选项的更多信息。
注意
集合选项取决于驱动程序版本和MongoDB服务器版本。可能某些选项,如时间序列集合,在较旧的服务器版本上不可用。
时间序列集合
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
受限集合
class Name include Mongoid::Document store_in collection_options: { capped: true, size: 1024 } end
在集合上设置默认排序规则
class Name include Mongoid::Document store_in collection_options: { collation: { locale: 'fr' } } end
集合管理 Rake 任务
如果您为文档指定了集合选项,则必须在使用之前显式创建相应的集合。为此,请使用提供的 db:mongoid:create_collections
Rake 任务
$ rake db:mongoid:create_collections
创建集合命令也可以通过在 Rails 控制台中运行适用于单个模型
# Create collection for Model Model.create_collection