モジュール: Mongoid::Document

次による拡張機能。
ActiveSupport::Concern
次のことが含まれます。
複合アクセス可能読み取り可能 ::インスタンスメソッド
次のドキュメントに含まれます。
コメントGlobalDiscriminatorKeyAssignment::InvalidFieldHost投稿
定義:
lib/mongoid/document.rb

Overview

これは、ドキュメントとしてデータベースに永続化する必要があるすべてのドメイン オブジェクトの基本モジュールです。

名前空間で定義済み

Modules: クラスメソッド

定数の概要の削減

ILLEGAL_KEY =

不正な BSON キーを照合するための正規表現。 bson 4.1には、代わりに使用する必要がある定数 BSON::String::ILLEAL_KEY があることに注意してください。 Ruby ドライバー2.3.0がリリースされ、Mongoid が >= 2.3.0を必要とするように更新できる場合、BSON 定数を使用できます。

/(\A[$])|(\.)/.freeze

Composableから含まれる定数

comosable::MODELESComposable::RESERVED_METHOD_NAMES

インターセプ可能に含まれる定数

中断可能::CALLBACKS

関連付けから含まれる定数

関連付け::MACRO_MAPPING

関連: : 依存関係から含まれる定数

関連付け:

永続的から含まれる定数

永続的::LAST_OPERATIONS

フィールドに含まれる定数

フィールド::ブール値フィールド::IDSフィールド::INVALID_BSON_CLASSESフィールド::Stringed Symbolフィールド::Type_MAPます

アトミックに含まれる定数

Atomic::UPDATES

インスタンス属性の概要を折りたたむ

ステートメントに含まれる属性

コード含む:

関連付けに含まれる属性

#_関連付け

属性に含まれる属性

Attributes

Clients::StorageOptionsに含まれる属性

#remembered_storage_options

インスタンス メソッドの概要を折りたたむ

Toolsに含まれるメソッド

#_client_contact_updates #_gather_tools_updates 、 #_run_toolbacks_locals_from_ root #_contactable_parent? 、#suppress_contact_colbacks #contact 、# contact_colbacks_suppressed か。

Composableに含まれるメソッド

禁止_メソッド

Equalityに含まれるメソッド

#, #==, #eql?

コピー可能なメソッドに含まれるメソッド

#cloud

解釈可能な に含まれるメソッド

#_mongoid_run_field_ after_colbacks #_mongoid_run_field_Before_ Callbacks #_mongoid_run_field_colbacks #_mongoid_run_field_colbacks_with_round # _mongoid_run_handlerbacks_confirm #in_呼び出す_状態 ) 、保留中_ コールバックs 、保留中_コールバックs = 、 run_ after_ballbacks 、#run_Before_ Callbacks 、# run_colbacks 、# run_pending_colbacks

Validableに含まれるメソッド

#start_validate#exit_validate#performing_validation#read_attribute_for_validation#valid?番号検証ありますか?#validation_with_query?

Triggersに含まれるメソッド

#_country 、# _ descendant 、# _parent 、#_parent = 、# _reset_memoized_descendrants #_ root #_ root は? 、#collection_fields #collection_descendant 、#flug_descendrants_persed 、 #特権の 所有者 では ありませんか。 、 #parentize #remove_field #reset_persisted_descendrants

Cacheableに含まれるメソッド

#cache_key

ステートメントに含まれるメソッド

#破棄されたか?#fluged_for_delete は?#new_record= 、# new_record?# 永続的か?#preAtlas_new_record ) 、以前はでしたか。#push 可能か?#readonly。#readonly設定可能更新可能か?

シャードに含まれるメソッド

#shard_key_field_value#shard_key_fields#shard_key_Selector#shard_key_selector_in_db

シリアル化可能な に含まれるメソッド

#serializable_hash

選択可能なに含まれるメソッド

#アトミック_Selector

Reloadableに含まれるメソッド

#reload

関連付けから含まれるメソッド

#関連付け_名前#埋め込み# embedded_many# embedded_one# referenced_many は?#referenced_oneか。#reload_relationions

関連付け::Refが含まれるメソッド

#reflect_on_all_関連付け

関連::Macrosから含まれるメソッド

#関連付け

関連: : 依存関係から含まれるメソッド

#apply_detroy_dependenciesdefined_dependency。検証します。

associated ::Accessorに含まれるメソッド

#__Build__#create_relation#reset_relation_criteria#set_relation

関連付け::参照::同期可能

#_syncable?#_synced#_synced?#remove_inverse_keys#update_inverse_keys

関連付け::参照::CounterCacheから含まれるメソッド

定義_コールバック#reset_counters

関連付け::参照::AutoSaveから含まれるメソッド

#__autosaving__, #autosaved?, #changed_for_autosave?, define_autosave!

永続的から含まれるメソッド

#アトミックに # fail_due_to_colback #fail_due_to_validation。

Peristable::Unsetableに含まれるメソッド

#unset

Peristable::Upserableに含まれるメソッド

#upsert

Peristable::Updatetableに含まれるメソッド

#update, #update!, #update_attribute

Peristable::Setableに含まれるメソッド

#set

Peristable:: Saveableに含まれるメソッド

#save, #save!

Peristable::Renameableに含まれるメソッド

#rename

Peristable::Pushableに含まれるメソッド

#add_to_set#push

Peristable::Pullableに含まれるメソッド

#pull, #pull_all

位置から含まれるメソッド

位置的に

Peristable::Popableに含まれるメソッド

#pop

Permissions に含まれるメソッド::Flexible

#mul

Peristable:Minableに含まれるメソッド

#set_min

Peristable::Maxableに含まれるメソッド

#set_max

Peristable:: Logicalに含まれるメソッド

ビット

Persionable::Incrementableに含まれるメソッド

#inc

Peristable::Destructorableに含まれるメソッド

#デプロイ#デプロイ 。

Peristable::Deleteableに含まれるメソッド

#delete

Persionable::Createableに含まれるメソッド

#insert

Matchableに含まれるメソッド

#_一致

フィールドに含まれるメソッド

、、 、 #lazy_settable オプション オプション 、 traverse_asaction_tree # using_object_ids 、 、 #validate_writeable_field_name。

EOLに含まれるメソッド

# MongoDB_object_id__

属性に含まれるメソッド

#assign_attributes #attribute_Missing? #attribute_presentation 、#attributes_Before_type_ Cast 、# has_attribute ? #has_attribute_Before_type_lastか。 # process_raw_attribute # read_attribute # read_attribute_confirm

属性::Readonlyに含まれるメソッド

#attribute_writeable?

Attributes::Processingに含まれるメソッド

#process_attributes

クライアントに含まれるメソッド

クライアント クリア 、 デフォルト 、 切断 、 設定 with_name

Clients::Sessionsに含まれるメソッド

次が含まれます:

Clients::Optionsに含まれるメソッド

#collection#collection_name#mongo_client 、#永続性_context 、#永続性_context?

Clients::StorageOptionsに含まれるメソッド

#remember_storage_options を使用します。#storage_options

Changeableに含まれるメソッド

#attribute_from #changed_attributes 、#changes # String_changed 、 、 #move_changes 、 # post_persist # prevなります。 #setters 、 #_save_change_to_attribute?

アトミックに含まれるメソッド

#add_atomic_pull , #add_atomic_unset , #atomic_array_add_to_sets , #atomic_array_pulls , #atomic_array_pushes , #atomic_attribute_name , #atomic_delete_modifier , #atomic_insert_modifier , #atomic_path , #atomic_paths , #atomic_position , #atomic_pulls , #atomic_pushes , #atomic_sets , #atomic_unsets , #atomic_updates , #delayed_atomic_pulls 、遅延_アトミック_セット 、遅延_アトミック_unsets 、#フラグ_as_destricted#フラグメント_デプロイs# process_flugger_delete s

インスタンス属性の詳細

# __selected_fields =オブジェクト

属性 __selected_fields の値を返します。



29
30
31
# ファイル 'lib/mongoid/document.rb', 行29

デフォルト __selected_fields
  @__selected_fields
end

# new_record 詳しくは、オブジェクト(読み取り専用)

属性 new_record の値を返します。



30
31
32
# ファイル 'lib/mongoid/document.rb', 行30

デフォルト new_record
  @new_record
end

インスタンス メソッドの詳細

# _handle_colbacks_ after_instancelation (execute_colbacks) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

コールバックを実行する場合、コールバックの設定と実行を処理します。それ以外の場合、 は適切なコールバックを保留中のコールバック リストに追加します。

パラメーター:

  • execution_colbacks true | false

    コールバックを実行するかどうか。



211
212
213
214
215
216
217
218
219
220
221
# ファイル 'lib/mongoid/document.rb', 行211

デフォルト _handle_呼び出す_ after_インスタンス化(execution_colbacks)
  場合 execution_colbacks
    apply_defaults
    ノードの数 自己 場合 ブロック_指定
    run_colbacks(:find) ただし、 _find_colbacks.空の場合
    run_colbacks(:initiate) ただし、 _initialize_colbacks.空の場合
  else
    ノードの数 自己 場合 ブロック_指定
    自己.Pending_colbacks += %i[ apply_defaults find 初期化 ]
  end
end

# as_document =ハッシュ

このドキュメントから、ドキュメント階層全体のハッシュを返します。 現在のドキュメントだけでなくすべてに属性が必要な場合に使用されます。

例:

完全な階層を取得します。

person.as_document

次の値を返します。

  • ハッシュ

    階層内のすべての属性のハッシュ。



134
135
136
# ファイル 'lib/mongoid/document.rb', 行134

デフォルト as_document
  BSON::ドキュメント.新着情報(as_attributes)
end

#as_json(options = nil) ⇒ Hash

注:

Rails 6は、 BSON::ObjectId などの非プリミティブ型の as_json の戻り値を変更します。 Rails <= 5では、as_json はこれらを クラスのインスタンスとして返しました。 Rails 6では、これらはプリミティブ型(例: 9 98 40 37 5 340 github.com/ Rails/ Rails/commit/2 e5 db980 a448 e7 f4 ab00 6941cf e456616 ad を参照してください c c aa詳しくは、 を参照してください。

Mongoid 固有の追加オプションを使用して、ドキュメントに対して #as_json を呼び出します。

例:

ドキュメントをJSONとして取得します。

document.as_json(compact: true)

パラメーター:

  • options ハッシュ (デフォルトはnil

    オプション。

オプション ハッシュ( options ):

  • : compact true | false (デフォルト:非推奨) —

    JSONドキュメントに nil 値を持つフィールドを含めるかどうか。

次の値を返します。

  • ハッシュ

    JSONとしてのドキュメント。



156
157
158
159
160
161
162
163
# ファイル 'lib/mongoid/document.rb', 行156

デフォルト as_json(options = nil)
  rv = スーパー
  場合 options & & options[: compact]
    Mongoid::警告.警告_as_json_compact_deprecation_deprecation
    rv = rv.compact
  end
  rv
end

#(klas) になります =ドキュメント

現在のドキュメントの属性、エラー、埋め込みドキュメントを持つ指定されたクラスのインスタンスを返します。

例:

サブクラスのドキュメントをスーパークラス インスタンスとして返します。

manager.becomes(Person)

パラメーター:

  • klass クラス

    になるクラス。

次の値を返します。

次の値が発生します。

  • (ArgumentError)

    クラスに Mongoid::Document が含まれていない場合



176
177
178
179
180
181
182
183
# ファイル 'lib/mongoid/document.rb', 行176

デフォルト になります(klass)
  mongoid_document_check.(klass)

   = klass.新着情報(clone_document)
  .internal_ State = internal_ State

  
end

#freezeDocument

ドキュメントの内部属性を固定します。

例:

ドキュメントを固定する

document.freeze

次の値を返します。



49
50
51
# ファイル 'lib/mongoid/document.rb', 行49

デフォルト freeze
  as_attributes.freeze および 自己
end

#frozen?true | false

ドキュメントが固定されているかどうか

例:

Check if frozen

document.frozen?

次の値を返します。

  • true | false

    固定されている場合は true、それ以外の場合は false。



59
60
61
# ファイル 'lib/mongoid/document.rb', 行59

デフォルト frozen?
  属性.frozen?
end

#ハッシュ=整数

同じ ID の 2 つのレコードが次のようなもので機能するように ID に委任します。

[ Person.find(1), Person.find(2), Person.find(3) ] &
[ Person.find(1), Person.find(4) ] # => [ Person.find(1) ]

例:

ハッシュを取得します。

document.hash

次の値を返します。

  • (整数)

    ドキュメントの ID のハッシュ。



73
74
75
# ファイル 'lib/mongoid/document.rb', 行73

デフォルト ハッシュ
  identity.ハッシュ
end

ID配列

ドキュメントの は、クラスとデータベース ID によって絶対に識別されます。

4 04745933 000003 775130

例:

ID を取得する

document.identity

次の値を返します。

  • 配列

    [document.Class] を含む配列、 document._id]



85
86
87
# ファイル 'lib/mongoid/document.rb', 行85

デフォルト identity
  [ 自己.クラス, _id ]
end

#initialize(attrs = nil, &block) ⇒ Document

新しいDocumentをインスタンス化し、ドキュメントの属性が指定されている場合は設定します。 属性が指定されていない場合は、空のHashで初期化されます。

プライマリキーが定義されている場合、ドキュメントの ID はそのキーに設定され、それ以外の場合は新しいBSON::ObjectId string に設定されます。

例:

新しいドキュメント を作成します。

Person.new(:title => 'Sir')

パラメーター:

  • attrs ハッシュ (デフォルトはnil

    ドキュメントを設定する属性。

次の値を返します。



102
103
104
# ファイル 'lib/mongoid/document.rb', 行102

デフォルト 初期化(attrs = nil, &ブロック)
  struct_document(attrs, &ブロック)
end

# internal_ State= (状態) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このドキュメントの内部状態を設定します。 再タイプされたドキュメントを初期化するのに役立ちます

パラメーター:

  • 状態 ハッシュ

    内部状態値のマップ。



191
192
193
194
195
196
197
198
199
200
201
# ファイル 'lib/mongoid/document.rb', 行191

デフォルト internal_ State=(状態)
  自己._id = 状態[:id]
  @changed_attributes = 状態[:changed_attributes]
  @errors = ActiveModel::Errors.新着情報(自己).タップ { |e| e.コピーします。(状態[:errors]) }
  @new_record = 状態[:new_record]
  @destricted = 状態[:破棄]

  update_discriminator(状態[:discriminator_key_was])

  マーク_永続化_状態_for_埋め込み_ドキュメント(状態[:new_record])
end

#model_name = string

ドキュメントのモデル名を返します。

例:

モデル名を返します。

document.model_name

次の値を返します。

  • ( string )

    モデル名。



112
113
114
# ファイル 'lib/mongoid/document.rb', 行112

デフォルト model_name
  自己.クラス.model_name
end

# to_key = string

ドキュメントのキー値を返します。

例:

キーを返します。

document.to_key

次の値を返します。

  • ( string )

    ドキュメントの ID または新しい場合は nil 。



122
123
124
# ファイル 'lib/mongoid/document.rb', 行122

デフォルト to_key
  (永続化された場合 || 破棄されたか?) ? [ _id.to_s ] : nil
end