クラス: Mongoid::Fields::ForeignKey
- 定義:
- build/mongoid- 8.1 /lib/mongoid/fields/foreign_key.rb
インスタンス属性の概要
標準から継承された属性
#default_val 、 # labels 、 #name 、 #options
インスタンス メソッドの概要を折りたたむ
-
#add_atomic_changes (document, name, key, Mods, new_elements, old_elements) = オブジェクト
このタイプのサイズ変更可能なフィールドにアトミックな変更を追加します。
-
# accumulate (Object) = オブジェクト
オブジェクトを ID 互換オブジェクトに展開します。
-
は、 foreign_key をサポートしていますか。 = true | false
このフィールドは外部キーか?
-
#遅延= true | false
このフィールドは遅延デフォルト評価を行いますか。
-
# mongoize (object) = オブジェクト
オブジェクトをmongo double 値に MongoDB 化します。
-
オブジェクト_id_field = true | false
フィールドは BSON::ObjectId ですか。
-
サイズは変更可能ですか? = true | false
配列の場合は true を返し、配列でない場合は false を返します。
標準から継承されたメソッド
、 、 、 、 、 、 、 、 、 、 #localizedか? 、 #pre_processed? 、 #type
コンストラクターの詳細
このクラスは、 Mongoid::Fields::standardからコンストラクターを継承します。
インスタンス メソッドの詳細
#add_atomic_changes (document, name, key, Mods, new_elements, old_elements) =オブジェクト
このタイプのサイズ変更可能なフィールドにアトミックな変更を追加します。
@todo: duration: リファクター、ビッグタイム。
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/fields/foreign_key.rb', 行20 デフォルト add_aごとの変更(ドキュメント, name, キー, 修飾子, new_Elements, old_elements) old = (old_elements || []) 新着情報 = (new_Elements || []) 場合 新着情報.Length > old.Length 場合 新着情報.最初に(old.Length) == old ドキュメント.atomic_array_add_to_sets[キー] = 新着情報.drop(old.Length) else 修飾子[キー] = ドキュメント.属性[name] end elsif 新着情報.Length < old.Length プル = old - 新着情報 場合 新着情報 == old - プル ドキュメント.アトミック_array_pulls[キー] = プル else 修飾子[キー] = ドキュメント.属性[name] end elsif 新着情報 != old 修飾子[キー] = ドキュメント.属性[name] end end |
# accumulate ( Object ) = オブジェクト
オブジェクトを ID 互換オブジェクトに展開します。
59 60 61 62 63 64 65 66 67 68 69 70 71 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/fields/foreign_key.rb', 行59 デフォルト 量用(オブジェクト) 場合 object_id_field || オブジェクト.is_a?(ドキュメント) 場合 関連付け.多態的か 関連付け.convert_to_foreign_key(オブジェクト) elsif オブジェクト.is_a?(ドキュメント) & & オブジェクト.respond_to?(関連付け.プライマリ_キー) プライマリ_キー_フィールド.量用(オブジェクト.送信(関連付け.プライマリ_キー)) else オブジェクト._v_object_id__ end else .量用(オブジェクト) end end |
は、 foreign_key をサポートしていますか。 = true | false
このフィールドは外部キーか?
47 48 49 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/fields/foreign_key.rb', 行47 デフォルト foreign_key? true end |
#遅延= true | false
このフィールドは遅延デフォルト評価を行いますか。
79 80 81 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/fields/foreign_key.rb', 行79 デフォルト lazy? タイプ.サイズ変更可能か end |
# mongoize (object) =オブジェクト
オブジェクトをmongo double 値に MongoDB 化します。
91 92 93 94 95 96 97 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/fields/foreign_key.rb', 行91 デフォルト mongoize(オブジェクト) 場合 タイプ.サイズ変更可能か || object_id_field タイプ.__mongoize_fk__(関連付け, オブジェクト) else .mongoize(オブジェクト) end end |
オブジェクト_id_field = true | false
フィールドは BSON::ObjectId かどうか
105 106 107 108 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/fields/foreign_key.rb', 行105 デフォルト object_id_field @object_id_field ||= 関連付け.多態的か ? true : 関連付け.klass.using_object_ids? end |
サイズは変更可能ですか? = true | false
配列の場合は true を返し、配列でない場合は false を返します。
116 117 118 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/fields/foreign_key.rb', 行116 デフォルト サイズ変更可能か タイプ.サイズ変更可能か end |