クラス: Mongo::Protocol::Query

継承:
メッセージ すべて表示
次のことが含まれます。
Monitoring::Event::Secure
定義:
build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb

Overview

MongoDB ワイヤプロトコルのクエリ メッセージ。

これは、提供されたクエリに一致するドキュメントを検索するためにサーバーに送信されるクライアント リクエスト メッセージです。

また、フィールドのサブセット、スキップする数、返されるドキュメント数の制限を選択するために、プロジェクションなどの追加オプションを提供することもできます。

カーソル パラメータや結果の整合性と整合性を調整するために使用できるさまざまなフラグがあります。

名前空間で定義済み

クラス: アップ変換

定数の概要

Monitoring::Event::Secureに含まれる制約

モニタリング::Event::Secure::REDACTED_COMMANDS

メッセージから継承された定数

メッセージ::バッチ_サイズメッセージ::COLLECTIONメッセージ::LITITメッセージ:MAX_MESSAGE_SIZE 、 メッセージ:: ORDER 、メッセージ::Q

インスタンス属性の概要

メッセージから継承された属性

#request_id

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

::Event::Secureに含まれるメソッド

#compression_allowed?# 編集済み# 区別

メッセージから継承されたメソッド

# =======================================================================================

IDに含まれるメソッド

次が含まれます:

コンストラクターの詳細

#初期化(データベース, コレクション, セレクター, オプション = {}) = 初期化 =クエリ

新しいクエリ メッセージを作成します

例:

Tyler という名前のユーザーをすべて検索します。

Query.new('xgen', 'users', {:name => 'Tyler'})

をスキップし、5 10を返すという名前のすべてのユーザーを見つけます。

Query.new('xgen', 'users', {:name => 'Tyler'}, :skip => 5,
                                               :limit => 10)

secondaryOk ビットが設定されているすべてのユーザーを検索

Query.new('xgen', 'users', {:name => 'Tyler'}, :flags => [:secondary_ok])

すべてのユーザー ID を検索します。

Query.new('xgen', 'users', {}, :fields => {:id => 1})

パラメーター:

  • database ( stringSymbol )

    クエリするデータベース。

  • コレクション ( stringSymbol )

    クエリするコレクション。

  • セレクター ハッシュ

    クエリ セレクター

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

    追加のクエリオプション。

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

  • :flags 配列 < Symbol >

    フラグ ビット。 現在サポートされている値は、 :await_data、 :exhaust、 :no_cursor_timeout、 :oplog_replace、 : partial、 :secondary_ok、 :tailable_cursor です。

  • :limit 整数

    返されるドキュメントの数。

  • :project ハッシュ

    プロジェクション。

  • :skip 整数

    スキップするドキュメントの数。



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行64

デフォルト 初期化(database, コレクション, セレクター, options = {})
  @database = database
  @namespace = " #{ database } . #{ collection } "
  場合 セレクター.nil?
    発生 ArgumentError, 'セレクターは nil にできません'
  end
  @Selector = セレクター
  @options = options
  @project = options[:project]
  @limit = determine_limit
  @skip = options[:skip]  || 0
  @flags = options[:flags] || []
  @upconvert = アップ変換.新着情報(
    コレクション,
    BSON::ドキュメント.新着情報(セレクター),
    BSON::ドキュメント.新着情報(options),
    flags,
  )
  スーパー
end

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

#Many_compress (コンプレッサー、 zlib_compression_level = nil)= nil)================================

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

送信されるコマンドで圧縮が許可されている場合は、メッセージを圧縮します。 それ以外の場合は、 は自分自身を返します。

パラメーター:

  • compressor ( stringSymbol )

    使用するコンプレッサー。

  • zlib_compression_level 整数 (デフォルトはnil

    使用する zlib 圧縮レベル。

次の値を返します。

  • メッセージ

    このメッセージを圧縮できるかどうかに応じて、 プロトコル::圧縮されたメッセージ または 自己処理 メッセージが表示されます。

以来

  • 2.5.0



125
126
127
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行125

デフォルト Max_compress(compressor, zlib_compression_level = nil)
  compress_if_allow(セレクター.キー.最初に, compressor, zlib_compression_level)
end

ペイロード= BSON::Document

モニタリングのイベント ペイロードを返します。

例:

イベントのペイロードを返します。

message.payload

次の値を返します。

  • BSON::Document

    イベントのペイロード。

以来

  • 2.1.0



93
94
95
96
97
98
99
100
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行93

デフォルト ペイロード
  BSON::ドキュメント.新着情報(
    command_name: アップ変換.command_name,
    database_name: @database,
    コマンド: アップ変換.コマンド,
    request_id: request_id
  )
end

応答可能かどうか= true

クエリ メッセージにはデータベースからの応答が必要です。

例:

そのメッセージには応答が必要か。

message.replyable?

次の値を返します。

  • ( true )

    クエリでは常に true です。

以来

  • 2.0.0



110
111
112
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行110

デフォルト 応答可能かどうか
  true
end

#シリアル化(バッファ = BSON::Byteバッファ.new, max_bson_size = nil、bson_overhead = nil)= BSON:: Byteバッファリング

ネットワーク上で送信できるバイトにメッセージを直列化します。

パラメーター:

  • バッファ BSON::Byteバッファ (デフォルトはBSON::Byteバッファ.new

    メッセージを挿入する場所。

  • max_bson_size 整数 (デフォルトはnil

    最大BSONオブジェクト サイズ。

次の値を返します。

  • BSON::Byteバッファ

    シリアル化されたメッセージを含むバッファ。



135
136
137
138
139
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/protocol/query.rb', 行135

デフォルト 直列化(バッファ = BSON::Byteバッファ.新着情報, max_bson_size = nil, bson_overhead = nil)
  validate_document_size(max_bson_size)

  スーパー
end