モジュール: 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 のみです。
76 77 78 79 80 81 |
# ファイル 'lib/mongoid/indexable.rb' 行76 デフォルト add_indexes 場合 継承 & & !index_keys.include?(自己.弁別子_キー.to_sym => 1) index({ 自己.弁別子_キー.to_sym => 1 }, unique: false, バックグラウンド: true) end true end |
create_indexs = true
実際のインデックス作成のコメントを MongoDB ドライバーに送信する
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# ファイル 'lib/mongoid/indexable.rb' 行27 デフォルト 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
指定された単一キーまたは複合キーのインデックス定義を追加します。
96 97 98 99 100 101 |
# ファイル 'lib/mongoid/indexable.rb' 行96 デフォルト index(スペック, = nil) 仕様 = 仕様.新着情報(自己, スペック, ) 場合 !インデックス_仕様.include?(仕様) インデックス_仕様.プッシュ(仕様) end end |
#index_specation ( index_hash 、index_name= nil)======================================================================================
指定されたキーのインデックス仕様を取得します。
112 113 114 115 116 117 |
# ファイル 'lib/mongoid/indexable.rb' 行112 デフォルト インデックス_仕様(index_hash, index_name = nil) index = OpenStrict.新着情報(フィールド: index_hash.キー, キー: index_hash) インデックス_仕様.検出 行う |スペック| スペック == index || (index_name & & index_name == スペック.name) end end |
#remove_index = true
実際のインデックス削除のコメントを MongoDB ドライバーに送信しますが、 _id はそのままにします。
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# ファイル 'lib/mongoid/indexable.rb' 行51 デフォルト remove_indexes Indexed_database_names.各 行う |database| と共に(database: database) 行う |klass| begin klass.コレクション.indexes(セッション: _session).各 行う |スペック| ただし、 スペック[" name "] == " _id_ " klass.コレクション.indexes(セッション: _session).drop_one(スペック[" key "]) logger.info( " MONGOID: コレクションのインデックス ' #{ spec [ " name " ] } } ' を 削除しました + データベース 0 内 の " # { klas . コレクション . 名前 } ' を使用して ください 。 ) end end ヘルプ mongo::エラー::OperationFailure; end end end および true end |