モジュール: Mongoid::Document
- 次による拡張機能。
- ActiveSupport::Concern
- 次のことが含まれます。
- 複合アクセス可能、読み取り可能 ::インスタンスメソッド
- 次のドキュメントに含まれます。
- GlobalDiscriminatorKeyAssignment::InvalidFieldHost 、 people 、 Post
- 定義:
- build/mongoid- 8.1 /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 の値を返します。
ステートメントに含まれる属性
関連付けに含まれる属性
属性に含まれる属性
インスタンス メソッドの概要を折りたたむ
-
# 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
をインスタンス化し、ドキュメントの属性が指定されている場合は設定します。 -
#model_name = string
ドキュメントのモデル名を返します。
-
# to_key = string
ドキュメントのキー値を返します。
Toolsに含まれるメソッド
Composableに含まれるメソッド
Equalityに含まれるメソッド
コピー可能なメソッドに含まれるメソッド
解釈可能な に含まれるメソッド
#_mongoid_run_子_コールバックs 、 #コールバック_実行可能 、 #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に含まれるメソッド
Peristable:: Logicalに含まれるメソッド
Persionable::Incrementableに含まれるメソッド
Peristable::Destructorableに含まれるメソッド
Peristable::Deleteableに含まれるメソッド
Persionable::Createableに含まれるメソッド
Matchableに含まれるメソッド
Inspectableに含まれるメソッド
フィールドに含まれるメソッド
、、 、 #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? 、と
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 の値を返します。
30 31 32 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は30行 デフォルト __selected_fields @__selected_fields end |
# new_record 詳しくは、オブジェクト(読み取り専用)
属性 new_record の値を返します。
31 32 33 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は31行 デフォルト new_record @new_record end |
インスタンス メソッドの詳細
# as_document =ハッシュ
このドキュメントから、ドキュメント階層全体のハッシュを返します。 現在のドキュメントだけでなくすべてに属性が必要な場合に使用されます。
135 136 137 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は135行 デフォルト as_document BSON::ドキュメント.新着情報(as_attributes) end |
#as_json(options = nil) ⇒ Hash
Rails 6は、 BSON::ObjectId などの非プリミティブ型の as_json の戻り値を変更します。 Rails <= 5では、as_json はこれらを クラスのインスタンスとして返しました。 Rails 6では、これらはプリミティブ型(例: 9 5 40 340 37 98 github.com/ Rails/ Rails/commit/2 e5 db980 a448 e7 f4 ab00 6941cf e456616 ad を参照してください c c aa詳しくは、 を参照してください。
Mongoid 固有の追加オプションを使用して、ドキュメントに対して #as_json を呼び出します。
157 158 159 160 161 162 163 164 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は157行 デフォルト as_json( = nil) rv = スーパー 場合 & & [: compact] Mongoid::警告.警告_as_json_compact_deprecation_deprecation rv = rv.compact end rv end |
#は(klas) になります =ドキュメント
現在のドキュメントの属性、エラー、埋め込みドキュメントを持つ指定されたクラスのインスタンスを返します。
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は177行 デフォルト になります(klass) ただし、 klass.include?(Mongoid::ドキュメント) 発生 ArgumentError, " Mongoid::Document を含むクラスが予想されています" end が = klass.新着情報(clone_document) が._id = _id が.instance_variable_set(:@changed_attributes, Changed_attributes) new_errors = ActiveModel::Errors.新着情報(が) new_errors.コピーします。(errors) が.instance_variable_set(:@errors, new_errors) が.instance_variable_set(:@new_record, new_record?) が.instance_variable_set(:@破棄された, 破棄されたか?) が.Changed_attributes[klass.弁別子_キー] = 自己.クラス.弁別子_値 が[klass.弁別子_キー] = klass.弁別子_値 埋め込みDocsを永続化としてマークします .each_pair 行う |name, | Within_自動ビルド 行う 関係 = が.__send__(name) 配列.ラップ(関係).各 行う |R| R.instance_variable_set(:@new_record, new_record?) end end end が end |
#freeze ⇒ Document
ドキュメントの内部属性を固定します。
50 51 52 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は50行 デフォルト freeze as_attributes.freeze および 自己 end |
#frozen? ⇒ true | false
ドキュメントが固定されているかどうか
60 61 62 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は60行 デフォルト frozen? 属性.frozen? end |
#ハッシュ=整数
74 75 76 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は74行 デフォルト ハッシュ identity.ハッシュ end |
ID ~配列
ドキュメントの は、クラスとデータベース ID によって絶対に識別されます。
4 04745933 000003 775130
86 87 88 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は86行 デフォルト identity [ 自己.クラス, 自己._id ] end |
#initialize(attrs = nil, &block) ⇒ Document
新しいDocument
をインスタンス化し、ドキュメントの属性が指定されている場合は設定します。 属性が指定されていない場合は、空のHash
で初期化されます。
プライマリキーが定義されている場合、ドキュメントの ID はそのキーに設定され、それ以外の場合は新しいBSON::ObjectId
string に設定されます。
103 104 105 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は103行 デフォルト 初期化(attrs = nil, &ブロック) struct_document(attrs, &ブロック) end |
#model_name = string
ドキュメントのモデル名を返します。
113 114 115 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は113行 デフォルト model_name 自己.クラス.model_name end |
# to_key = string
ドキュメントのキー値を返します。
123 124 125 |
ファイル ' build/mongoid- 8.1 /lib/mongoid/document.rb ' の場合は123行 デフォルト to_key (永続化された場合 || 破棄されたか?) ? [ _id.to_s ] : nil end |