モジュール: 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::MODELES 、 Composable::RESERVED_METHOD_NAMES
インターセプ可能に含まれる定数
関連付けから含まれる定数
関連: : 依存関係から含まれる定数
永続的から含まれる定数
フィールドに含まれる定数
フィールド::ブール値、フィールド::IDS 、フィールド::INVALID_BSON_CLASSES 、フィールド::Stringed Symbol 、フィールド::Type_MAPます
アトミックに含まれる定数
インスタンス属性の概要を折りたたむ
-
# __selected_fields =オブジェクト
属性 __selected_fields の値を返します。
-
# new_record 詳しくは、オブジェクト
readOnly
属性 new_record の値を返します。
ステートメントに含まれる属性
関連付けに含まれる属性
属性に含まれる属性
Clients::StorageOptionsに含まれる属性
インスタンス メソッドの概要を折りたたむ
-
# _handle_colbacks_ after_instancelation (execute_colbacks) = オブジェクト
private
コールバックを実行する場合、コールバックの設定と実行を処理します。それ以外の場合、 は適切なコールバックを保留中のコールバック リストに追加します。
-
# as_document =ハッシュ
このドキュメントから、ドキュメント階層全体のハッシュを返します。
-
#as_json(options = nil) ⇒ Hash
Mongoid 固有の追加オプションを使用して、ドキュメントに対して #as_json を呼び出します。
-
#は(klas) になります = ドキュメント
現在のドキュメントの属性、エラー、埋め込みドキュメントを持つ指定されたクラスのインスタンスを返します。
-
#freeze ⇒ Document
ドキュメントの内部属性を固定します。
-
#frozen? ⇒ true | false
ドキュメントが固定されているかどうかを確認します。
-
#ハッシュ= 整数
同じ ID の 2 つのレコードが次のようなもので機能するように ID に委任します。
-
ID ~ 配列
ドキュメントの は、クラスとデータベース ID によって絶対に識別されます。
-
#initialize(attrs = nil, &block) ⇒ Document
新しい
Document
をインスタンス化し、ドキュメントの属性が指定されている場合は設定します。 -
# internal_ State= (状態) = オブジェクト
private
このドキュメントの内部状態を設定します。
-
#model_name = string
ドキュメントのモデル名を返します。
-
# to_key = string
ドキュメントのキー値を返します。
Toolsに含まれるメソッド
#_client_contact_updates 、 #_gather_tools_updates 、 #_run_toolbacks_locals_from_ root 、 #_contactable_parent? 、#suppress_contact_colbacks 、 #contact 、# contact_colbacks_suppressed か。
Composableに含まれるメソッド
Equalityに含まれるメソッド
コピー可能なメソッドに含まれるメソッド
解釈可能な に含まれるメソッド
#_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に含まれるメソッド
ステートメントに含まれるメソッド
#破棄されたか? 、 #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
シリアル化可能な に含まれるメソッド
選択可能なに含まれるメソッド
Reloadableに含まれるメソッド
関連付けから含まれるメソッド
#関連付け_名前、 #埋め込み、 # embedded_many 、 # embedded_one 、 # referenced_many は? 、 #referenced_oneか。 、 #reload_relationions
関連付け::Refが含まれるメソッド
関連::Macrosから含まれるメソッド
関連: : 依存関係から含まれるメソッド
#apply_detroy_dependencies 、 defined_dependency。 、検証します。
associated ::Accessorに含まれるメソッド
#__Build__ 、 #create_relation 、 #reset_relation_criteria 、 #set_relation
関連付け::参照::同期可能
#_syncable? 、 #_synced 、 #_synced? 、 #remove_inverse_keys 、 #update_inverse_keys
関連付け::参照::CounterCacheから含まれるメソッド
関連付け::参照::AutoSaveから含まれるメソッド
#__autosaving__, #autosaved?, #changed_for_autosave?, define_autosave!
永続的から含まれるメソッド
#アトミックに 、 # fail_due_to_colback 、 #fail_due_to_validation。
Peristable::Unsetableに含まれるメソッド
Peristable::Upserableに含まれるメソッド
Peristable::Updatetableに含まれるメソッド
#update, #update!, #update_attribute
Peristable::Setableに含まれるメソッド
Peristable:: Saveableに含まれるメソッド
Peristable::Renameableに含まれるメソッド
Peristable::Pushableに含まれるメソッド
Peristable::Pullableに含まれるメソッド
位置から含まれるメソッド
Peristable::Popableに含まれるメソッド
Permissions に含まれるメソッド::Flexible
Peristable:Minableに含まれるメソッド
Peristable::Maxableに含まれるメソッド
Peristable:: Logicalに含まれるメソッド
Persionable::Incrementableに含まれるメソッド
Peristable::Destructorableに含まれるメソッド
Peristable::Deleteableに含まれるメソッド
Persionable::Createableに含まれるメソッド
Matchableに含まれるメソッド
フィールドに含まれるメソッド
、、 、 #lazy_settable 、 オプション 、 オプション 、 traverse_asaction_tree 、 # using_object_ids 、 、 #validate_writeable_field_name。
EOLに含まれるメソッド
属性に含まれるメソッド
#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に含まれるメソッド
Attributes::Processingに含まれるメソッド
クライアントに含まれるメソッド
クライアント の クリア 、 デフォルト 、 切断 、 設定 、 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 の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
コールバックを実行する場合、コールバックの設定と実行を処理します。それ以外の場合、 は適切なコールバックを保留中のコールバック リストに追加します。
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 =ハッシュ
このドキュメントから、ドキュメント階層全体のハッシュを返します。 現在のドキュメントだけでなくすべてに属性が必要な場合に使用されます。
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 を呼び出します。
156 157 158 159 160 161 162 163 |
# ファイル 'lib/mongoid/document.rb', 行156 デフォルト as_json( = nil) rv = スーパー 場合 & & [: compact] Mongoid::警告.警告_as_json_compact_deprecation_deprecation rv = rv.compact end rv end |
#は(klas) になります =ドキュメント
現在のドキュメントの属性、エラー、埋め込みドキュメントを持つ指定されたクラスのインスタンスを返します。
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 |
#freeze ⇒ Document
ドキュメントの内部属性を固定します。
49 50 51 |
# ファイル 'lib/mongoid/document.rb', 行49 デフォルト freeze as_attributes.freeze および 自己 end |
#frozen? ⇒ 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) ]
73 74 75 |
# ファイル 'lib/mongoid/document.rb', 行73 デフォルト ハッシュ identity.ハッシュ end |
ID ~配列
ドキュメントの は、クラスとデータベース ID によって絶対に識別されます。
4 04745933 000003 775130
85 86 87 |
# ファイル 'lib/mongoid/document.rb', 行85 デフォルト identity [ 自己.クラス, _id ] end |
#initialize(attrs = nil, &block) ⇒ Document
新しいDocument
をインスタンス化し、ドキュメントの属性が指定されている場合は設定します。 属性が指定されていない場合は、空のHash
で初期化されます。
プライマリキーが定義されている場合、ドキュメントの ID はそのキーに設定され、それ以外の場合は新しいBSON::ObjectId
string に設定されます。
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]) (状態[:new_record]) end |
#model_name = string
ドキュメントのモデル名を返します。
112 113 114 |
# ファイル 'lib/mongoid/document.rb', 行112 デフォルト model_name 自己.クラス.model_name end |
# to_key = string
ドキュメントのキー値を返します。
122 123 124 |
# ファイル 'lib/mongoid/document.rb', 行122 デフォルト to_key (永続化された場合 || 破棄されたか?) ? [ _id.to_s ] : nil end |