クラス: Mongo::SearchIndex::View

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
列挙可能、 コレクション:: ヘルパー 再試行可能
定義:
lib/mongo/search_index/view.rb

Overview

検索インデックスのビューを表すクラス。

インスタンス属性の概要を折りたたむ

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

コレクション:: ヘルパーに含まれるメソッド

#do_drop

再試行可能な に含まれるメソッド

#read_worker#select_server#write_worker

コンストラクターの詳細

#初期化(コレクション、オプション = {}) = 初期化 =表示

新しい検索インデックスビューを作成します。

パラメーター:

  • コレクション コレクション

    コレクション。

  • options ハッシュ (デフォルトは{}です)

    ビューの動作を構成するオプション。

オプション ハッシュ( options ):

  • :id string

    クエリする特定のインデックスID(任意)

  • :name string

    クエリする特定のインデックスの名前(任意)

  • :aggregate ハッシュ

    使用可能なインデックスをクエリするときに、オプションは集計コマンドに送信するためにハッシュされます。

次の値が発生します。

  • (ArgumentError)


33
34
35
36
37
38
39
40
41
42
# ファイル 'lib/mongo/search_index/view.rb' は、33 行

デフォルト 初期化(コレクション, options = {})
  @collection = コレクション
  @requested_index_id = options[:id]
  @requested_index_name = options[:name]
  @aggregate_options = options[:aggregate] || {}

  return 場合 @aggregate_options.is_a?(ハッシュ)

  発生 ArgumentError, " :aggregate オプションは ハッシュ である必要があります(#{ @aggregate_options .クラス} )。
end

インスタンス属性の詳細

# aggregate_options = ハッシュ(読み取り専用)

使用可能なインデックスをクエリするときに、集計コマンドに使用するオプションを返します。

次の値を返します。

  • ハッシュ

    利用可能なインデックスをクエリするときに 集計コマンドに使用するオプション ハッシュ。



22
23
24
# ファイル 'lib/mongo/search_index/view.rb' は、22 行

デフォルト aggregate_options
  @aggregate_options
end

コレクション= Mongo::Collection (readonly)

このビューが属するコレクションを返します。

次の値を返します。



12
13
14
# ファイル 'lib/mongo/search_index/view.rb' は、12 行

デフォルト コレクション
  @collection
end

requests_index_id ~ : nil | string(読み取り専用)

クエリするインデックスID を返します。

次の値を返します。

  • ( nil | string )

    クエリするインデックスID



15
16
17
# ファイル 'lib/mongo/search_index/view.rb' は、15 行

デフォルト requested_index_id
  @requested_index_id
end

# requested_index_name = nil | string(読み取り専用)

クエリするインデックス名を返します。

次の値を返します。

  • ( nil | string )

    クエリするインデックス名



18
19
20
# ファイル 'lib/mongo/search_index/view.rb' は、18 行

デフォルト requested_index_name
  @requested_index_name
end

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

詳しくは、 create_many (インデックス) = 配列=string><String>

1 つの コマンドで複数の検索インデックスを作成

パラメーター:

  • indexes <Hash>配列 )

    作成するインデックスの説明。 リストの各要素は、定義キーと任意の名前キーを持つハッシュである必要があります。

次の値を返します。

  • <String>配列未満

    新しい検索インデックスの名前。



62
63
64
65
66
# ファイル 'lib/mongo/search_index/view.rb' は、62 行

デフォルト create_many(indexes)
  スペック = spec_with(indexes: indexes.map { |v| validate_search_index!(v) })
  結果 = 操作::検索インデックスを作成します.新着情報(スペック).実行する(next_primary, context: execution_context)
  結果.最初に[' IndexesCreed '].map { |idx| idx[' name '] }
end

# create_one (定義、名前: nil、タイプ: 'search')= string

指定された定義を持つ単一の検索インデックスを作成します。 という名前が指定されている場合、新しいインデックスにはその名前が付けられます。

パラメーター:

  • definition ハッシュ

    検索インデックスの定義。

  • name ( nil | string ) (デフォルトはnil

    新しい検索インデックスに付ける名前。

次の値を返します。

  • ( string )

    新しい検索インデックスの名前 。



51
52
53
# ファイル 'lib/mongo/search_index/view.rb' は、51 行

デフォルト create_one(definition, name: nil, type: ' 検索 ')
  create_many([ { name: name, 定義: definition, type: タイプ } ]).最初に
end

# drop_one (ID: nil、name: nil)= Mongo::Operation::Result| false

指定された ID または名前を持つ検索インデックスを削除します。 どちらかを指定する必要がありますが、両方は指定しないでください。

パラメーター:

  • id string (デフォルトはnil

    削除するインデックスの ID

  • name string (デフォルトはnil

    削除するインデックスの名前

次の値を返します。

  • Mongo::Operation::Result | false

    操作の結果 、または指定されたインデックスが存在しない場合は false 。



76
77
78
79
80
81
82
83
84
85
86
# ファイル 'lib/mongo/search_index/view.rb' は、76 行

デフォルト drop_one(ID : nil, name: nil)
  validate_id_or_name!(id, name)

  スペック = spec_with(index_id: id, index_name: name)
  op = 操作::DropSearchIndex.新着情報(スペック)

  仕様あたりの番号:
  ドライバーは、次の NamespaceNotFound エラーを抑制する必要があります
  ``dropSearchIndex``ヘルパー.  削除操作は冪等である必要があります。
  do_drop(op, nil, execution_context)
end

( & ブロック) =================================================列挙型

検索インデックスを反復処理します。

パラメーター:

  • ブロック Proc

    指定されている場合、各検索インデックスはブロックに格納されます。

次の値を返します。

  • 自己 | 列挙型

    ブロックが指定された場合、自分自身が返されます。 それ以外の場合は、列挙子が返されます。



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# ファイル 'lib/mongo/search_index/view.rb' は、95 行

デフォルト (&ブロック)
  @result ||= begin
    スペック = {}.タップ 行う |s|
      s[:id] = requested_index_id 場合 requested_index_id
      s[:name] = requested_index_name 場合 requested_index_name
    end

    コレクション.と共に(read_concern: {}).集計(
      [ { '$listSearchIndexes' => スペック } ],
      aggregate_options
    )
  end

  return @result.to_enum ただし、 ブロック

  @result.(&ブロック)
  自己
end

#= true | false

検索インデックスの列挙可能性が空かどうかをクエリします。

次の値を返します。

  • true | false

    列挙可能な が空かどうか。



136
137
138
# ファイル 'lib/mongo/search_index/view.rb' は、136 行

デフォルト 空の場合
  count.zero?
end

# update_one (定義、 ID: nil、名前: nil) = Mongo::Operation::Result

指定された ID または名前で検索インデックスを更新します。 どちらかを指定する必要がありますが、両方を指定することはできません。

パラメーター:

  • definition ハッシュ

    指定された検索インデックスを置き換える定義。

  • id ( nil | string ) (デフォルトはnil

    更新する検索インデックスの ID

  • name ( nil | string ) (デフォルトはnil

    更新する検索インデックスの名前

次の値を返します。



123
124
125
126
127
128
# ファイル 'lib/mongo/search_index/view.rb' は、123 行

デフォルト update_one(definition, ID : nil, name: nil)
  validate_id_or_name!(id, name)

  スペック = spec_with(index_id: id, index_name: name, index: definition)
  操作::updateSearchIndex.新着情報(スペック).実行する(next_primary, context: execution_context)
end