类:Mongo::Protocol::Query
- 定义于:
- 构建/ruby-driver-v2.19/lib/ mongo / 协议/ 查询.rb
Overview
MongoDB Wire协议查询消息。
这是发送到服务器的客户端请求消息,以便检索与所提供的查询匹配的文档。
用户还可以提供其他选项,例如用于选择字段子集的投影、要跳过的数字或对返回文档数量的限制。
有多种标志可用于调整游标参数或调整结果所需的一致性和完整性。
在命名空间下定义
类: 上转换器
常量摘要
Monitoring::Event::Secure中包含的常量
Monitoring::Event::Secure::REDACTED_COMMANDS
从Message继承的常量
Message::BATCH_SIZE 、 Message::COLLECTION 、 Message::LIMIT 、 Message::MAX_MESSAGE_SIZE 、 Message::ORDERED 、 Message::Q
实例属性摘要
从Message继承的属性
实例方法摘要折叠
-
#初始化(数据库,集合, 选择器, 选项 = {}) ⇒ 查询
构造函数
创建新的查询消息。
-
#maybe_compress (compressor, zlib_compression_level = nil) ⇒ 消息
private
如果发送的命令允许压缩,则压缩消息。
-
#有效负载⇒ BSON::Document
返回用于监控的事件负载。
-
#可回复? ⇒ true
查询消息需要数据库的回复。
-
# Serialize (buffer = BSON::ByteBuffer.new, max_bson_size = nil, bson_overhead = nil) ⇒ BSON::ByteBuffer
将消息序列化为可以在线发送的字节。
Monitoring::Event::Secure中包含的方法
#compression_allowed? 、 #redacted 、 #sensitive?
从Message继承的方法
#== 、 deserialize 、 #hash 、 #maybe_add_server_api 、 #maybe_decrypt 、 #maybe_encrypt 、 #maybe_inflate 、 #number_returned 、 #set_request_id
ID中包含的方法
构造函数详情
#初始化(数据库,集合, 选择器, 选项 = {}) ⇒查询
创建新的查询消息
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 协议/ 查询.rb', 第64行 def 初始化(database, 集合, 选择器, = {}) @database = database @namespace = " #{ database } . #{ collection } " if 选择器.nil? 提高 ArgumentError, ' Selector不能为 nil ' end @selector = 选择器 @options = 项目 = [:项目] @limit = 确定_限制 @skip = [:skip] || 0 @flags = [:flags] || [] @upconverter = 上转换器.new( 集合, BSON::文档.new(选择器), BSON::文档.new(), flags, ) 超 end |
实例方法详细信息
#maybe_compress (compressor, zlib_compression_level = nil) ⇒消息
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
如果发送的命令允许压缩,则压缩消息。 否则返回 self。
125 126 127 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 协议/ 查询.rb', 第125行 def 也许_压缩(压缩器, zlib_compression_level = nil) compress_if_possible(选择器.密钥.first, 压缩器, zlib_compression_level) end |
#有效负载⇒ BSON::Document
返回用于监控的事件负载。
93 94 95 96 97 98 99 100 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 协议/ 查询.rb', 第93行 def 有效负载 BSON::文档.new( command_name: 上转换器.command_name, database_name: @database, 命令: 上转换器.命令, request_id: request_id ) end |
#可回复? ⇒ true
查询消息需要数据库的回复。
110 111 112 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 协议/ 查询.rb', 第110行 def 可回复? true end |
# Serialize (buffer = BSON::ByteBuffer.new, max_bson_size = nil, bson_overhead = nil) ⇒ BSON::ByteBuffer
将消息序列化为可以在线发送的字节。
135 136 137 138 139 |
# File ' 构建/ruby-driver-v2.19/lib/ mongo / 协议/ 查询.rb', 第135行 def 序列化(缓冲 = BSON::ByteBuffer.new, max_bson_size = nil, bson_overhead = nil) validate_document_size!(max_bson_size) 超 end |