Class: Mongo::Protocol::Query::Upconverter

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb

Overview

レガシー クエリ メッセージを適切な OP_COMMAND スタイルのメッセージに変換します。

以来

  • 2.1.0

定数の概要の削減

OPTION_MAPPINGS =

オプションを find コマンド オプションにマッピングします。

以来

  • 2.1.0

{
  :project => プロジェクション,
  :skip => 'skip',
  :limit => 'limit',
  :batch_size => ' batchSize '
}.freeze
特別な_FILD_MAPます。

以来

  • 2.1.0

{
  :$readPreference => ' $readPreference ',
  :$orderby => 'sort',
  :$hint => 'hint',
  :$comment => 'comment',
  :$returnKey => 'returnKey',
  :$snapshot => 'スナップショット',
  :$maxScan => 'maxScan',
  :$max => 'max',
  :$min => 'min',
  :$maxTimeMS => 'maxTimeMS',
  :$showDiskLoc => ' showRecordId ',
  :$explain => ' explain '
}.freeze
FLAG_MAPMAPINGS =

コマンド オプションを見つけるためのフラグのマッピング。

以来

  • 2.1.0

{
  :tailable_cursor => ' tailable ',
  :oplog_replace => 'oplogReplay',
  :no_cursor_timeout => 'noCursorTimeout',
  :await_data => 'awaitData',
  :部分 => ' allowPartialResults '
}.freeze

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

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

コンストラクターの詳細

#初期化(コレクション、フィルター、オプション、フラグ) = アップ変換

アップコンバーターをインスタンス化します。

例:

アップコンバーターをインスタンス化します。

Upconverter.new('users', { name: 'test' }, { skip: 10 })

パラメーター:

  • コレクション ( string )

    コレクションの名前。

  • フィルター BSON::DocumentHash

    フィルターまたは コマンド。

  • options BSON::DocumentHash

    オプション。

  • flags 配列未満

    フラグ。

以来

  • 2.1.0



283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行283

デフォルト 初期化(コレクション, フィルター, options, flags)
  # ドキュメント文字列はハッシュと BSON:Documents の両方を要求しますが、
  は受け入れられますが、このクラスではフィルターとオプションが次のようにされることを想定しています。
  # には、操作層が生成するものではないシンボル キーが含まれています。
  ただし、 BSON::ドキュメント === フィルター
    発生 ArgumentError, 'フィルターは、異なるアクセスを提供する必要があります'
  end
  ただし、 BSON::ドキュメント === options
    発生 ArgumentError, 'オプションは異なるアクセスを提供する必要があります'
  end
  @collection = コレクション
  @filter = フィルター
  @options = options
  @flags = flags
end

インスタンス属性の詳細

#コレクション= string (読み取り専用)

コレクションの名前を返します。

次の値を返します。

  • ( string )

    collection コレクションの名前。

以来

  • 2.1.0



261
262
263
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行261

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

#フィルター= BSON::Documentハッシュ(読み取り専用)

フィルター のクエリフィルター、または コマンドを返します。

次の値を返します。

  • BSON::DocumentHash

    filter クエリフィルターまたは コマンド。

以来

  • 2.1.0



264
265
266
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行264

デフォルト フィルター
  @filter
end

#フラグ=配列 < Symbol > (読み取り専用)

フラグを フラグを返します。

次の値を返します。

  • 配列未満

    詳細は、 フラグをご覧ください。

以来

  • 2.1.0



270
271
272
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行270

デフォルト flags
  @flags
end

オプション= BSON::Documentハッシュ(読み取り専用)

オプション オプションを返します。

次の値を返します。

  • BSON::DocumentHash

    options のオプション。

以来

  • 2.1.0



267
268
269
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行267

デフォルト options
  @options
end

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

#commandBSON::Document

アップ変換された コマンドを取得します。

例:

コマンドを取得します。

upconverter.command

次の値を返します。

  • BSON::Document

    アップ変換された コマンド。

以来

  • 2.1.0



307
308
309
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行307

デフォルト コマンド
  コマンドは? ? op_command : find_command
end

# command_name = string

コマンドの名前を取得します。 コレクションが $cmd の場合は、フィルター内の最初のキーであり、それ以外の場合は find になります。

例:

コマンド名を取得します。

upconverter.command_name

次の値を返します。

  • ( string )

    コマンド名。

以来

  • 2.1.0



320
321
322
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行320

デフォルト command_name
  ((フィルター[:$query] || !コマンドは?) ? :find : フィルター.キー.最初に).to_s
end