モジュール: Mongoid::Indexable::Classメソッドs
- 定義:
- lib/mongoid/indexable.rb
インスタンス メソッドの概要を折りたたむ
-
#add_indexes ⇒ true
デフォルトのインデックスがまだ存在しない場合は、ルート ドキュメントに追加します。
-
create_indexs = true
実際のインデックス作成コメントを MongoDB ドライバーに送信します。
-
#index(spec, options = nil) ⇒ Hash
指定された単一キーまたは複合キーのインデックス定義を追加します。
-
#index_specation (index_hash、index_name= nil)======================================================================================
指定されたキーのインデックス仕様を取得します。
-
#remove_index = true
実際のインデックス削除のコメントを MongoDB ドライバーに送信しますが、 _id はそのままにします。
インスタンス メソッドの詳細
#add_indexes ⇒ true
デフォルトのインデックスがまだ存在しない場合は、ルート ドキュメントに追加します。 現在のところ、これは _type のみです。
72 73 74 75 76 77 |
# ファイル 'lib/mongoid/indexable.rb' 行72 デフォルト add_indexes 場合 継承 & & !index_keys.include?(弁別子_キー.to_sym => 1) index({ 弁別子_キー.to_sym => 1 }, unique: false, バックグラウンド: true) end true end |
create_indexs = true
実際のインデックス作成のコメントを MongoDB ドライバーに送信する
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# ファイル 'lib/mongoid/indexable.rb' 行24 デフォルト create_indexes return ただし、 インデックス_仕様 = { バックグラウンド: Config.バックグラウンド_インデックス作成 } インデックス_仕様.各 行う |スペック| キー, = スペック.キー, .merge(スペック.) 場合 database = [:database] と共に(database: database) 行う |klass| klass.コレクション.indexes(セッション: _session).create_one(キー, .次の項目を除く(:database)) end else コレクション.indexes(セッション: _session).create_one(キー, ) end end および true end |
#index(spec, options = nil) ⇒ Hash
指定された単一キーまたは複合キーのインデックス定義を追加します。
92 93 94 95 96 97 98 99 100 101 102 103 |
# ファイル 'lib/mongoid/indexable.rb' 行92 デフォルト index(スペック, = nil) 仕様 = 仕様.新着情報(自己, スペック, ) インデックス可能な::仕様インスタンスの等価テストは行われません。 # はすべてのオプションを考慮するため、名前は比較されません。つまり 別のインデックスと異なるオプションを持つインデックスと異なるオプションを持つインデックス # 名は、インデックス宣言が重複しない限り、暗黙で無視されます # は許可されています。 return ただし、 Mongoid.allow_duplicate_index_dentials || !インデックス_仕様.include?(仕様) インデックス_仕様.プッシュ(仕様) end |
#index_specation ( index_hash 、index_name= nil)======================================================================================
指定されたキーのインデックス仕様を取得します。
114 115 116 117 118 |
# ファイル 'lib/mongoid/indexable.rb' 行114 デフォルト インデックス_仕様(index_hash, index_name = nil) インデックス_仕様.検出 行う |スペック| スペック.superficial_match?(キー: index_hash, name: index_name) end end |
#remove_index = true
実際のインデックス削除のコメントを MongoDB ドライバーに送信しますが、 _id はそのままにします。
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# ファイル 'lib/mongoid/indexable.rb' 行48 デフォルト remove_indexes Indexed_database_names.各 行う |database| と共に(database: database) 行う |klass| klass.コレクション.indexes(セッション: _session).各 行う |スペック| 次へ 場合 スペック[' name '] == '_id_' klass.コレクション.indexes(セッション: _session).drop_one(スペック['key']) logger.info( " MONGOID:コレクションのインデックス' #{spec [ ' name ' } ' を削除しました + データベース 0 内 の " # { klas . コレクション . 名前 } ' を使用して ください 。 ) end ヘルプ mongo::エラー::OperationFailure end end および true end |