モジュール: Mongoid::Shardable

次による拡張機能。
ActiveSupport::Concern
次のドキュメントに含まれます。
構成可能
定義:
lib/mongoid/shardable.rb

Overview

このモジュールには、アップデートにシャードキー フィールドを追加するための動作が含まれています。

名前空間で定義済み

Modules: クラスメソッド

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

shard_key_field_value (フィールド、優先順位:)=オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

名前付きシャードキーの値を返します。フィールドが埋め込みドキュメントを識別する場合、キーは解析され、再帰的に評価されます。prefer_persisted が true の場合、属性の現在の値がどのような値であっても、データベースに最後に保存された値が返されます。

パラメーター:

  • フィールド ( string )

    評価するフィールドの名前

  • preserve_persisted true|false

    現在の値よりも永続的な値を優先するかどうか。

次の値を返します。

  • オブジェクト

    名前付きフィールドの値。



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 を使用することでリファクタリングが行われます。

シャードキー フィールドを取得します。

例:

シャードキー フィールドを取得します。

model.shard_key_fields

次の値を返します。

  • <String>配列未満

    シャードキー フィールド名。



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(デフォルトの)の場合は、指定されたシャードキーの現在の値が使用されます。それ以外の場合は、最近保存された値を使用しようとします。

パラメーター:

  • preserve_persisted true | false (デフォルトは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