在模型中包含文档模块
Overview
在本指南中,您可以学习;了解Mongoid 中的 Mongoid::Document
模块。 Document
模块是MongoDB文档的Ruby实施,它以字段/值对的形式存储数据。 要学习;了解有关MongoDB文档的术语、结构和限制的更多信息,请参阅服务器手册中的 文档。
您必须在要持久保存到MongoDB 的任何类中包含 Mongoid::Document
模块。 通过在模型类中包含 Document
模块,您可以在模型类的实例上使用其方法。
以下代码演示了如何在示例Person
模型类中包含 Document
模块:
class Person include Mongoid::Document field :name, type: String end
Document
您可以在API文档中找到有关 模块的更多信息。
处理文档
您可以将模型的实例直接存储在集合中,也可以将它们嵌入到使用 Document
模块的其他类中。 当您将 Document
实例保存到MongoDB时,它会转换为类似于Ruby哈希或JSON对象的BSON对象。
以下代码创建上一节中定义的 Person
模型的实例:
Person.create(name: 'Meena Kumar')
该文档在MongoDB中显示如下:
{ "_id": { "$oid": "673b6dce61700598c24a72b0" }, "name": "Meena Kumar" }
注意
_id字段
当您将模型实例持久保存到数据库时, MongoDB会自动添加一个具有唯一值的 _id
字段,即使您没有在模型中显式定义此字段。
要学习;了解有关此字段的更多信息,请参阅服务器手册中的 ObjectId 参考资料。
更多信息
要详细学习;了解可在 Mongoid 模型中使用的字段类型,请参阅 字段类型指南。