Clase: Mongo::Protocolo::Consulta
- Hereda:
-
Mensaje
- Objeto
- Mensaje
- Mongo::Protocol::Query
- Incluye:
- supervisión::evento::Secure
- Definido en:
- lib/mongo/protocolo/consulta.rb
Overview
Mensaje de consulta del protocolo MongoDB Wire.
Este es un mensaje de solicitud de cliente que se envía al servidor para recuperar documentos que coinciden con la consulta proporcionada.
Los usuarios también pueden proporcionar opciones adicionales, como una proyección, para seleccionar un subconjunto de campos, un número para omitir o un límite en la cantidad de documentos devueltos.
Hay diferentes banderas que pueden utilizarse para ajustar los parámetros del cursor o la coherencia e integridad deseadas de los resultados.
Definido en el espacio de nombres
Clases: Convertidor ascendente
Resumen constante
Constantes incluidas desde Monitoring::Event::Secure
Monitoreo::Evento::Seguro::COMANDOS REDACTADOS
Constantes heredadas de Message
Mensaje::TAMAÑO_DE_LOTE, Mensaje::COLECCIÓN, Mensaje::LÍMITE, Mensaje::TAMAÑO_MÁXIMO_DE_MENSAJE, Mensaje::ORDENADO, Mensaje::Q
Resumen de atributos de instancia
Atributos heredados de Message
Colapso del resumen del método de instancia
-
#inicializar(base de datos, colección, selector, opciones = {}) ⇒ Consulta
constructor
Crea un nuevo mensaje de consulta.
-
#perhaps_compress(compresor, zlib_compression_level = nil) ⇒ Mensaje
privada
Comprima el mensaje, si el comando que se envía permite la compresión.
-
#carga útil ⇒ BSON::Documento
Devuelve la carga útil del evento para su monitoreo.
-
#¿respondible? ⇒ verdadero
Los mensajes de consulta requieren respuestas de la base de datos.
-
#serializar(buffer = BSON::ByteBuffer.new, tamaño máximo de bson = nulo, sobrecarga de bson = nulo) ⇒ BSON::ByteBuffer
Serializa el mensaje en bytes que pueden enviarse por cable.
Métodos incluidos en Monitoring::Event::Secure
#compression_allowed?, #redacted, #sensitive?
Métodos heredados de Message
#==, deserializar, deserializar_matriz, deserializar_campo, deserializar_encabezado, campo, campos, #hash, #tal vez_agregar_api_de_servidor, #tal_vez_descifrar, #tal_vez_cifrar, #tal_vez_inflar, #número_devuelto, #establecer_id_de_solicitud
Métodos incluidos de Id
Detalles del constructor
#inicializar(base de datos, colección, selector, opciones = {}) ⇒ Consulta
Crea un nuevo mensaje de consulta
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# Archivo 'lib/mongo/protocol/query.rb', línea 64 def inicializar(database, Colección, selector, = {}) @database = database @espacio de nombres = "#{basede datos}.#{ colección }" Si selector.nil? propagar ArgumentError, 'Elselector no puede ser nulo' end @selector = selector @opciones = @proyecto = [:proyecto] @limit = determine_limit @skip = [:saltar] || 0 @flags = [:flags] || [] @convertidor ascendente = Convertidor ascendente.Nuevo( Colección, BSON::Documento.Nuevo(selector), BSON::Documento.Nuevo(), flags, ) Super end |
Detalles del método de instancia
#perhaps_compress(compresor, zlib_compression_level = nil) ⇒ Mensaje
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Comprime el mensaje si el comando enviado lo permite. De lo contrario, devuelve "self".
125 126 127 |
# Archivo 'lib/mongo/protocol/query.rb', línea 125 def tal vez_comprimir(compresor, zlib_compression_level = nulo) comprimir_si_es_posible(selector.claves.primera, compresor, zlib_compression_level) end |
#carga útil ⇒ BSON::Documento
Devuelve la carga útil del evento para su monitoreo.
93 94 95 96 97 98 99 100 |
# Archivo 'lib/mongo/protocol/query.rb', línea 93 def carga útil BSON::Documento.Nuevo( nombre_del_comando: convertidor ascendente.nombre_del_comando, nombre_de_la_base_de_datos: @database, dominio: convertidor ascendente.Comando, id_de_solicitud: id de solicitud ) end |
#¿respondible? ⇒ verdadero
Los mensajes de consulta requieren respuestas de la base de datos.
110 111 112 |
# Archivo 'lib/mongo/protocol/query.rb', línea 110 def ¿respondible? true end |
#serializar(buffer = BSON::ByteBuffer.new, tamaño máximo de bson = nulo, sobrecarga de bson = nulo) ⇒ BSON::ByteBuffer
Serializa el mensaje en bytes que pueden enviarse por cable.
135 136 137 138 139 |
# Archivo 'lib/mongo/protocol/query.rb', línea 135 def fabricar en serie(buffer = BSON::Búfer de bytes.Nuevo, tamaño máximo de bson = nulo, bson_overhead = nulo) ¡validar_tamaño_del_documento!(tamaño máximo de bson) Super end |