对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

集合配置

在本指南中,您可以学习;了解如何为 Mongoid应用程序中的集合指定配置选项。

您可以使用 :collection_options 参数和 store_in 宏来指定集合的配置选项。:collection_options 参数接受您的 Ruby 驱动程序和 MongoDB Server 版本支持的任何集合选项。

注意

您必须显式创建集合才能应用任何指定的集合选项。 通过运行集合管理Rake任务来创建集合,如本指南的集合管理 Rake 任务部分所示。

要学习有关Ruby驱动程序中可用集合选项的更多信息,请参阅Ruby驱动程序文档中的数据库和集合指南。

以下部分举例说明如何在使用 Mongoid 时配置集合选项。

时间序列集合可有效存储一段时间内的测量序列。 以下示例展示了如何配置时间序列集合:

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

要学习;了解有关时间序列集合的更多信息,请参阅MongoDB Server手册中的时间序列集合指南。

固定大小集合具有最大大小或文档计数,以防止它们的增长超过指定阈值。 以下示例展示了如何配置固定大小集合:

class Blog include Mongoid::Document store_in collection_options: { capped: true, size: 1024 }end

要学习;了解有关固定大小集合的更多信息,请参阅MongoDB Server手册中的固定大小集合指南。

排序规则是指如何比较通常采用特定自然语言的字符串的规则集。 以下示例显示如何指定对集合使用的默认规则:

class Title include Mongoid::Document store_in collection_options: { collation: { locale: 'fr' } }end

要学习;了解有关排序规则的更多信息,请参阅MongoDB Server手册中的排序规则指南。

要应用您在 Mongoid应用程序中指定的集合选项,您必须显式创建相应的集合。 为此,请通过在Shell中运行以下命令来使用 db:mongoid:create_collections Rake任务:

rake db:mongoid:create_collections

您还可以在 Rails 控制台中对单个模型运行create_collection 命令,如以下示例所示:

Model.create_collection