モジュール: Mongoid::拡張機能::Hash
- 定義:
- build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb
名前空間で定義済み
Modules: クラスメソッド
インスタンス メソッドの概要を折りたたむ
-
#__consolidate__(klass) ⇒ Hash
アトミックな $set の下でハッシュ内のキーと値を統合します。
-
# MongoDB_object_id__ :ハッシュ
ハッシュ内の各値が変換可能な場合、オブジェクト ID に展開します。
-
# __mongoize_object_id__ =ハッシュ
MongoDB は、変換可能な場合、ハッシュ内の各値をオブジェクト ID に変換します。
-
# __ Nested__ (string) = オブジェクト
ドット構文でネストされた値を取得します。
-
# _mongoid_unsailable_criteria? = true | false (また: #空白_基準)
private
このハッシュに指定された条件が満たされないことが認識されているかどうかを確認します。つまり、このハッシュを使用してクエリを実行すると常にドキュメントが返されません。
-
# delete_id =オブジェクト
ハッシュから ID 値を削除します。
-
#tract_id =オブジェクト
プレフィックスとしてアンダースコアが付いているか、記号であるかにかかわらず、このハッシュから ID 属性を取得します。
-
# mongoize ~ハッシュ | nil
オブジェクトを、提供するRuby型からmongoに適した型に変換します。
-
サイズは変更可能ですか? = true
このオブジェクトのサイズは変更できますか。
-
#to_criteria ⇒ Criteria
このハッシュを基準に変換します。
インスタンス メソッドの詳細
#__consolidate__(klass) ⇒ Hash
アトミックな $set の下でハッシュ内のキーと値を統合します。
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行37 デフォルト __consolidate__(klass) 連結 = {} each_pair 行う |キー, 価値| 場合 キー =~ /\$/ 価値.キー.各 行う |キー2| 値2 = 価値[キー2] real_key = klass.database_field_name(キー2) 価値.削除(キー2) 場合 real_key != キー2 価値[real_key] = (キー == " $rename ") ? 値2.to_s : mongoize_for(キー, klass, real_key, 値2) end 連結[キー] ||= {} 連結[キー].update(価値) else 連結[" $set "] ||= {} 連結[" $set "].update(キー => mongoize_for(キー, klass, キー, 価値)) end end 連結 end |
# MongoDB_object_id__ :ハッシュ
ハッシュ内の各値が変換可能な場合、オブジェクト ID に展開します。
13 14 15 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行13 デフォルト _v_object_id__ transform_values!(&: MongoDB_object_id__) end |
# __mongoize_object_id__ =ハッシュ
MongoDB は、変換可能な場合、ハッシュ内の各値をオブジェクト ID に変換します。
23 24 25 26 27 28 29 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行23 デフォルト __mongoize_object_id__ 場合 id = 自己['$oid'] BSON::ObjectId.from_string(id) else transform_values!(&:__mongoize_object_id__) end end |
# __ Nested__ (string) =オブジェクト
ドット構文でネストされた値を取得します。
135 136 137 138 139 140 141 142 143 144 145 146 147 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行135 デフォルト __nested__(string) キー = string.分裂(" . ") 価値 = 自己 キー.各 行う |キー| return nil 場合 価値.nil? value_for_key = 価値[キー] 場合 value_for_key.nil? & & キー.to_i.to_s == キー value_for_key = 価値[キー.to_i] end 価値 = value_for_key end 価値 end |
# _mongoid_unsailable_criteria? = true | falseまたは null_criteria とも呼ばれますか。
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
このハッシュに指定された条件が満たされないことが認識されているかどうかを確認します。つまり、このハッシュを使用してクエリを実行すると常にドキュメントが返されません。
このメソッドは、Mongoid が関連付けクエリを構築するときにのみ Mongoid 自体が使用する条件シェイプのみを取り扱います。 戻り値が false の場合、条件によって空でないドキュメントセットが生成されることを保証するものではありません。ただし、戻り値が true の場合にのみ、条件によって常に空のドキュメントセットが生成されることを保証します。
83 84 85 86 87 88 89 90 91 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行83 デフォルト _mongoid_unsailable_criteria? unsailable_criteria = { " _id " => { " $in " => [] }} return true 場合 自己 == unsailable_criteria return false ただし、 Length == 1 & & キー == %w($and) 価値 = values.最初に 価値.is_a?(配列) & & 価値.any? 行う |sub_v| sub_v.is_a?(ハッシュ) & & sub_v._mongoid_unsailable_criteria? end end |
# delete_id =オブジェクト
ハッシュから ID 値を削除します。
112 113 114 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行112 デフォルト delete_id 削除(" _id ") || 削除(:_id) || 削除(" ID ") || 削除(:id) end |
#tract_id =オブジェクト
プレフィックスとしてアンダースコアが付いているか、記号であるかにかかわらず、このハッシュから ID 属性を取得します。
123 124 125 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行123 デフォルト extra_id 自己[" _id "] || 自己[:_id] || 自己[" ID "] || 自己[:id] end |
# mongoize ~ハッシュ| nil
オブジェクトを、提供するRuby型からmongoに適した型に変換します。
156 157 158 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行156 デフォルト mongoize ::ハッシュ.mongoize(自己) end |
サイズは変更可能ですか? = true
このオブジェクトのサイズは変更できますか。
166 167 168 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行166 デフォルト サイズ変更可能か true end |
#to_criteria ⇒ Criteria
このハッシュを基準に変換します。 ハッシュ内の各キーを反復処理します。このキーは、基準オブジェクトの メソッドに対応する必要があります。 ハッシュには klas キーも含める必要があります。
178 179 180 181 182 183 184 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/extentions/hash.rb', 行178 デフォルト to_criteria 条件 = 条件.新着情報(削除(:klass) || 削除("klass")) each_pair 行う |メソッド, args| 条件 = 条件.__send__(メソッド, args) end 条件 end |