MongoDB Ruby driver

El driver Ruby oficialmente soportado para MongoDB.
El controlador Ruby es compatible con Ruby 2.7-3.3 y JRuby 9.3-9.4.
Instalación
Instale DLL Cemetery a través de RubyGems, ya sea desde la línea de comandos para usos puntuales:
$ gem install mongo
O mediante un Gemfile para un uso más general:
gem 'mongo'
Integridad de la entrega
Cada versión del driver MongoDB Ruby después de la versión 2.20.0 se ha compilado y firmado automáticamente usando la clave GPG del equipo.
Para verificar el archivo gem del driver:
- Descargue la clave GPG.
- Importa la clave en tu llavero GPG con
gpg --import ruby-driver.asc. - Descargue el archivo gem (si aún no lo tiene). Puede descargarlo de RubyGems con
gem fetch mongo, o puede descargarlo de la página de lanzamientos en GitHub. - Descargar el archivo de firma separada correspondiente de la misma versión. Revisa al final de la versión correspondiente al archivo gem, bajo la lista "activos", si hay un archivo
.sigcon el mismo número de versión que el gem que deseas instalar. - Verifica el gem con
gpg --verify mongo-X.Y.Z.gem.sig mongo-X.Y.Z.gem(reemplazandoX.Y.Zcon el número de versión real).
Está buscando un texto como "Firma válida de "MongoDB Ruby Driver Release Signing Key packaging@mongodb.com" en la salida. Si ve eso, se descubrió que la firma correspondía al archivo gem dado.
(Ten en cuenta que otras salidas, como "¡Esta clave no está certificada con una firma confiable!", están relacionadas con la red de confianza y dependen de cuánto confíes personalmente en la clave ruby-driver.asc que descargaste de nosotros. Para obtener más información, consulta https://www.gnupg.org/gph/en/manual/x334.html)
¿Por qué no utilizar la funcionalidad de firma de gemas de RubyGems?
La propia firma de gemas de RubyGems es problemática, sobre todo porque no existe una cadena de confianza establecida en relación con las llaves utilizadas para firmar gemas. La propia documentación de RubyGems admite que "este método para firmar gems no se emplea ampliamente" (véase https://guides.rubygems.org/security/). Las discusiones sobre este tema en la Community RubyGems han sido intermitentes durante más de una década, y aunque eventualmente llegará una solución, hemos decidido usar GPG por las siguientes razones:
- Muchos de los demás equipos de controladores en MongoDB están utilizando GPG para firmar sus versiones de producto. La coherencia con los demás equipos significa que podemos reutilizar las herramientas existentes para nuestros propios lanzamientos de productos.
- GPG está ampliamente disponible y cuenta con herramientas y procedimientos ya existentes para tratar con la red de confianza (aunque, lamentablemente, son bastante arcanos e intimidantes para los no iniciados).
En última instancia, la mayoría de los usuarios no se molestan en verificar gemas y no se verán afectados por nuestra elección de GPG sobre el método nativo de RubyGems.
Documentación
La documentación de alto nivel y los ejemplos de uso se encuentran aquí.
Puede encontrar la documentación de la API para la versión más reciente aquí. Para compilar la documentación de la API para la rama principal, clona el repositorio de manera local y ejecuta rake docs.
La documentación para driver de alto nivel, incluidos los tutoriales y la referencia que estaban en la carpeta de docs, ahora se pueden encontrar en el repositorio docs-ruby, aquí
Soporte
El soporte comercial para el driver está disponible a través del Portal de soporte de MongoDB.
Para preguntas, discusiones o asistencia técnica general, por favor visita el Foro de la Community de MongoDB.
Por favor consulta la página de Soporte Técnico en la documentación para otros recursos de soporte.
Bugs & Peticiones de funcionalidades
Para informar de un bug en el driver o solicitar una funcionalidad específica del driver Ruby:
- Visite nuestro rastreador de incidencias e inicie sesión (o cree una cuenta si aún no tiene una).
- Navegue hasta el proyecto RUBY.
- Haz clic en "Crear incidencia" y completa todos los campos del formulario que correspondan.
Al crear un problema, ten en cuenta que toda la información en JIRA para el proyecto RUBY, así como el servidor principal (el proyecto SERVER), es visible públicamente.
POR FAVOR HAGA:
- Proporcione la mayor cantidad de información posible sobre el asunto.
- Proporciona los pasos detallados para reproducir el problema.
- Proporcione los fragmentos de código, las trazas del seguimiento de pila y los datos de registro que sean aplicables. No incluya ningún dato confidencial ni registros del servidor.
- Especifique los números de versión del controlador y del servidor MongoDB.
POR FAVOR NO:
- Proporcione cualquier dato sensible o registros del servidor.
- Informe posibles problemas de seguridad públicamente (consulte "Problemas de seguridad" a continuación).
Problemas de seguridad
Si has identificado un posible problema de seguridad en el driver de Ruby (o en cualquier otro producto de MongoDB), por favor repórtalo siguiendo las instrucciones aquí.
Solicitudes de funcionalidades del producto
Para solicitar una funcionalidad que no sea específica del driver de Ruby o que afecte más que solo al driver (por ejemplo, una funcionalidad que requiera soporte del servidor MongoDB), por favor, envía tu idea a través del Foro de comentarios de MongoDB.
Política de mantenimiento y corrección de errores
Generalmente, la nueva funcionalidad del controlador se añade de manera retrocompatible y da lugar a nuevas versiones menores del controlador (2.x). Por lo general, las correcciones de errores se realizan primero en el master y luego se retrotraen a la versión de driver actual. Se pueden hacer excepciones caso por caso, por ejemplo, pueden incorporarse correcciones de seguridad a ramas estables más antiguas. Solo la versión de driver más reciente está oficialmente soportada. Los clientes deben utilizar la versión de driver más reciente en sus aplicaciones.
Ejecutando pruebas
Por favor, consulta spec/README.md para obtener instrucciones sobre cómo ejecutar el conjunto de pruebas del driver.
Lanzamientos
Las notas de versión y el historial de lanzamientos están disponibles en la página de lanzamientos de GitHub.
El controlador Ruby de MongoDB sigue versionado semántico para sus lanzamientos.
Licencia
Copyright (C) 2009-2020 MongoDB, Inc.
Licenciado bajo Apache License, Version 2.0 (la “Licencia”); no puede utilizar este archivo excepto en cumplimiento con la Licencia. Puede obtener una copia de la Licencia en
http://www.apache.org/licenses/LICENSE-2.0
A menos que lo exija la legislación aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean Express o implícitas. Consulta la Licencia para obtener los permisos específicos del lenguaje y las limitaciones según la Licencia.