モジュール: Mongoid::Shardable
Overview
このモジュールには、アップデートにシャードキー フィールドを追加するための動作が含まれています。
名前空間で定義済み
Modules: クラスメソッド
インスタンス メソッドの概要を折りたたむ
-
shard_key_field_value (フィールド、優先順位:)= オブジェクト
private
名前付きシャードキーの値を返します。
-
# shard_key_fields =<String> 配列=string=string===========================
シャードキー フィールドを取得します。
-
# shard_key_selector (prefer_persisted: false) = ハッシュ
private
定義されたシャードキーに一致するセレクターを返します。
-
# shard_key_selector_in_db =ハッシュ
private
データベース内のこのドキュメントの既存のバージョンに一致するセレクターを返します。
インスタンス メソッドの詳細
shard_key_field_value (フィールド、優先順位:)=オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
名前付きシャードキーの値を返します。フィールドが埋め込みドキュメントを識別する場合、キーは解析され、再帰的に評価されます。prefer_persisted が true の場合、属性の現在の値がどのような値であっても、データベースに最後に保存された値が返されます。
94 95 96 97 98 99 100 101 102 103 |
# ファイル 'lib/mongoid/shardable.rb' 行94 デフォルト shard_key_field_value(フィールド, プライマリ_永続:) 場合 フィールド.include?('.') 関係, 残り = フィールド.分裂('.', 2) 送信(関係)&.shard_key_field_value(残り, プライマリ_永続: preserve_persisted) elsif preserve_persisted & & !new_record? Atlas App Services(フィールド) else 送信(フィールド) end end |
# shard_key_fields = 配列 =string=string===========================<String>
クラス ロード パフォーマンスのためにdelete を使用することでリファクタリングが行われます。
シャードキー フィールドを取得します。
45 46 47 |
# ファイル 'lib/mongoid/shardable.rb' 行45 デフォルト shard_key_fields 自己.クラス.shard_key_fields end |
# shard_key_selector (prefer_persisted: false) =ハッシュ
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
定義されたシャードキーに一致するセレクターを返します。prefer_persisted が false(デフォルトの)の場合は、指定されたシャードキーの現在の値が使用されます。それ以外の場合は、最近保存された値を使用しようとします。
61 62 63 64 65 |
# ファイル 'lib/mongoid/shardable.rb' 行61 デフォルト shard_key_selector(プライマリ_永続: false) shard_key_fields.each_with_object({}) 行う |フィールド, セレクター| セレクター[フィールド.to_s] = shard_key_field_value(フィールド.to_s, プライマリ_永続: preserve_persisted) end end |
# shard_key_selector_in_db =ハッシュ
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
データベース内のこのドキュメントの既存のバージョンに一致するセレクターを返します。
ドキュメントが永続化されていない場合、このメソッドはシャードキー フィールドの現在の値を使用します。 ドキュメントが永続化されている場合、このメソッドはデータベースから検索された値を使用します。
77 78 79 |
# ファイル 'lib/mongoid/shardable.rb' 行77 デフォルト shard_key_selector_in_db shard_key_selector(プライマリ_永続: true) end |