モデルにドキュメント モジュールを含める
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 モデルで使用できるフィールド型の詳細については、「 フィールド型ガイド 」を参照してください。
MongoDBデータにアクセスして変更する方法については、「 データの操作 」ガイドを参照してください。
Mongoid モデルを使用してデータをモデル化する方法の詳細については、「 データのモデル化 」ガイドを参照してください。