Classe: Mongo::Protocol::Query
- Herda:
-
mensagem
- Objeto
- mensagem
- Mongo::Protocol::Query
- Inclui:
- Monitoramento::Evento::Seguro
- Definido em:
- lib/mongo/protocol/query.rb
Visão geral
Mensagem de query do protocolo de fio do MongoDB .
Esta é uma mensagem de solicitação do cliente que é enviada ao servidor para recuperar os documentos correspondentes à query fornecida.
Os usuários também podem fornecer opções adicionais, como uma projeção, para selecionar um subconjunto dos campos, um número a ser ignorado ou um limite no número de documentos retornados.
Há uma variedade de sinalizadores que podem ser usados para ajustar os parâmetros do cursor ou a consistência e integridade desejadas dos resultados.
Definido sob namespace
Classes: Upconverter
Resumo constante
Constantes incluídas no Monitoring::Event::Secure
Monitoramento::Evento::Secure::REDACTED_COMMANDS
Constantes herdadas de Mensagem
Mensagem::BATCH_SIZE, Mensagem::COLLECTION, Mensagem::LIMIT, Mensagem::MAX_MSSAGE_SIZE, Mensagem::ORDERED , Mensagem::Q
Constantes incluídas dos serializadores
Serializadores::HEADER_PACK, Serializadores::INT32_PACK, Serializadores::INT64_PACK, Serializadores::NULL, Serializadores::Zero
Resumo do atributo de instância
Atributos herdados de Mensagem
Recolhimento do Resumo do método de instância
-
#initialize(banco de dados, collection, selector, options = {}) ➤ Query
construtor
Cria uma nova mensagem de query.
-
#may_compress(compressor, zlib_compression_level = nil) ➤ Mensagem
privado
Compacte a mensagem se o comando que está sendo enviado permitir a compressão.
-
#payload ➤ BSON::Document
Retorne a carga útil do evento para monitoramento.
-
#respondível? ➤ verdadeiro
As mensagens de query exigem respostas do banco de banco de dados.
-
#serialize(buffer = BSON::ByteBuffer.new, max_bson_size = nil, bson_overhead = nil) ➤ BSON::ByteBuffer
Serializa a mensagem em bytes que podem ser enviados na transferência.
Métodos incluídos do Monitoring::Event::Secure
#compression_allowed?, #editado, #sensitive?
Métodos herdados de Mensagem
#==, deserialize, deserialize_array, deserialize_field, deserialize_header, campo, campos, #hash, #maybe_add_server_api, #maybe_decrypt, #maybe_encrypt, #maybe_inflate, #number_returned, #set_request_id
Métodos incluídos do ID
Detalhes do construtor
#initialize(banco de dados, collection, selector, options = {}) ➤ Query
Cria uma nova mensagem de query
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# Arquivo 'lib/mongo/protocol/query.rb', linha 62 def inicializar(database, collection, seletor, = {}) @database = database @namespace = "#{database}.#{collection}" aumentar ArgumentError, ' Oseletor não pode ser nulo' se seletor.nada? @selector = seletor @opções = @ projeto = [: projeto] @limit = determinar_limit @skip = [:skip] || 0 @flags = [: flags] || [] @upconverter = Upconverter.Novo( collection, BSON::Documento.Novo(seletor), BSON::Documento.Novo(), flags ) super end |
Detalhes do método de instância
#may_compress(compressor, zlib_compression_level = nil) ➤ Mensagem
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Compacte a mensagem se o comando que está sendo enviado permitir a compressão. Caso contrário, retorna auto.
122 123 124 |
# Arquivo 'lib/mongo/protocol/query.rb', linha 122 def talvez_compress(compressor, compressor, zlib_compression_level = nada) compressor_if_possível(seletor.keys.primeiro, compressor, compressor, zlib_compression_level) end |
#payload ➤ BSON::Document
Retorne a carga útil do evento para monitoramento.
90 91 92 93 94 95 96 97 |
# Arquivo 'lib/mongo/protocol/query.rb', linha 90 def Carga útil BSON::Documento.Novo( command_name: upconverter.command_name, database_name: @database, comando: upconverter.comando, request_id: request_id ) end |
#respondível? ➤ verdadeiro
As mensagens de query exigem respostas do banco de banco de dados.
107 108 109 |
# Arquivo 'lib/mongo/protocol/query.rb', linha 107 def respondível? true end |
#serialize(buffer = BSON::ByteBuffer.new, max_bson_size = nil, bson_overhead = nil) ➤ BSON::ByteBuffer
Serializa a mensagem em bytes que podem ser enviados na transferência.
132 133 134 135 136 |
# Arquivo 'lib/mongo/protocol/query.rb', linha 132 def serializar(buffer = BSON::ByteBuffer.Novo, max_bson_size = nada, bson_overhead = nada) validate_document_size!(max_bson_size) super end |