Controlador Ruby do MongoDB

O driver Ruby oficialmente suportado para MongoDB.

O driver Ruby é compatível com Ruby 2.7-3.3 e JRuby 9.3-9.4.

Instalação

Instale via RubyGems, por meio da linha de comando para usos ad-hoc:

$ gem install mongo

Ou por meio de um Gemfile para uso mais geral:

gem ‘mongo’

Liberar integridade

Cada versão do driver Ruby do MongoDB após a versão 2.20.0 foi automaticamente criada e assinada usando a chave GPG da equipe.

Para verificar o arquivo gem do driver:

  1. Baixe a chave GPG.

  2. Importe a chave para o chaveiro GPG com gpg --import ruby-driver.asc.

  3. Baixe o arquivo gem (se ainda não o tiver). Você pode baixá-lo do RubyGems com gem fetch mongo ou pode baixá-lo a partir da página de versões no Github.

  4. Baixe o arquivo de assinatura desanexado correspondente da mesma versão. Procure na parte inferior da versão que corresponde ao arquivo gem, na lista "Recursos", um arquivo .sig com o mesmo número de versão do gem que você deseja instalar.

  5. Verifique o gem com gpg --verify mongo-X.Y.Z.gem.sig mongo-X.Y.Z.gem (substituindo X.Y.Z pelo número da versão real).

Você está procurando texto como “Boa assinatura de”Chave de assinatura da versão do driver Ruby MongoDB empacotamento@mongodb.com “na saída. Se você ver isso, a assinatura corresponde ao arquivo gem fornecido.

(Observe que outras saídas, como “Esta chave não está certificado com uma assinatura confiável!), Está relacionada à web de confiança e depende de quão forte você, pessoalmente, confia na ruby-driver.asc chave que você baixou de nós. Para saber mais, consulte http://gnupg.org/gph/en/manual/x.html334 )

Por que não usar a funcionalidade de assinatura de gems do RubyGems?

A assinatura de gems do RubyGems é problemática, mais significativamente porque não há uma cadeia de confiança estabelecida relacionada às chaves usadas para assinar as gems. A própria documentação do RubyGems reconhece que "este método de assinar gems não é amplamente usado" (consulte guias.Rubygems.org/security/). As discussões sobre isso na comunidade RubyGems têm sido interrompidas por mais de uma década e, embora uma solução chegue eventualmente, decidimos usar o GPG pelos seguintes motivos:

  1. Muitas das outras equipes de drivers do MongoDB estão usando o GPG para assinar as versões de seus produtos. A consistência com as outras equipes significa que podemos reutilizar ferramentas existentes para nossas próprias versões de produtos.

  2. O GPG está amplamente disponível e tem ferramentas e procedimentos existentes para lidar com a web de confiança (embora eles sejam reconhecidamente bastante obsoletos e tentados para os não iniciados, desatualmente).

Por fim, a maioria dos usuários não se dá ao trabalho de verificar as gems e não será afetada pela nossa escolha do GPG em vez do método nativo do RubyGems.

Documentação

Documentação de alto nível e exemplos de uso estão localizados aqui.

A documentação da API para a versão mais recente pode ser encontrada aqui. Para criar documentação de API para a ramificação principal, confira o repositório localmente e execute rake docs.

A documentação de alto nível do driver, incluindo tutoriais e a referência que estava na pasta Docs, agora pode ser encontrada no repositório Docs-Ruby, aqui

Suporte

O suporte comercial para o driver está disponível por meio do Portal de suporte do MongoDB.

Para dúvidas, debates ou suporte técnico geral, visite o Fórum da MongoDB Community.

Consulte a página Suporte técnico na documentação para obter outros recursos de suporte.

Bugs e solicitações de recursos

Para relatar um bug no driver ou solicitar uma funcionalidade específica para o driver Ruby:

  1. Visite nosso rastreador de problemas e faça login (ou crie uma conta se ainda não tiver uma).

  2. Navegue até o projetoRuby .

  3. Clique em "Criar problema" e preencha todos os campos de formulário aplicáveis.

Ao criar um problema, lembre-se de que todas as informações no JIRA para o projeto RUBY, bem como o servidor núcleo (o projeto SERVER), são visíveis publicamente.

FAVOR FAZER:

  • Forneça o máximo de informações possível sobre o problema.

  • Forneça etapas detalhadas para reproduzir o problema.

  • Forneça quaisquer trechos de código aplicáveis, rastreamentos de pilha e dados de registro. Não inclua dados confidenciais ou registros do servidor.

  • Especifique os números de versão do driver e do MongoDB Server.

Informamos que não:

  • Forneça quaisquer dados confidenciais ou registros do servidor.

  • Relate possíveis problemas de segurança publicamente (consulte "Problemas de segurança" abaixo).

Problemas de segurança

Se você identificou um possível problema relacionado à segurança no driver Ruby (ou em qualquer outro produto MongoDB ), informe-o seguindo as instruções aqui.

Solicitações de recursos do produto

Para solicitar um recurso que não seja específico do driver Ruby ou que afete mais do que o driver sozinho (por exemplo , um recurso que exija suporte do servidor MongoDB ), envie sua ideia por meio do Fórum de feedback do MongoDB.

Política de manutenção e correção de bugs

A nova funcionalidade de driver geralmente é adicionada de maneira compatível com versões anteriores e resulta em novas versões de drivers secundários (2.x). As correções de erros geralmente são feitas no mestre primeiro e são backportadas para a versão atual do driver secundário. Exceções podem ser feitas caso a caso, por exemplo , correções de segurança podem ser portadas para ramificações estáveis mais antigas. Somente a versão do driver menor mais recente é oficialmente suportada. Os clientes devem usar a versão do driver mais recente em seus aplicativos.

Executando testes

Consulte spec/README.md para obter instruções sobre como executar o conjunto de testes do condutor.

Histórico de versões

As notas de versão completas e o histórico de versões estão disponíveis na página de versões do Github .

Licença

Todos os direitos reservados © 2009-2020 MongoDB, Inc.

Licenciado sob a Licença Apache, Versão 2.0 (a "License"); você não pode usar este arquivo, exceto em conformidade com a Licença. Você pode obter uma cópia da Licença em

Www.apache.org/licens/LICENSE-2.0

A menos que exigido pela lei aplicável ou aceito por escrito, o software distribuído sob a Licença é distribuído “como está”, sem garantias ou condições de qualquer tipo, Express ou implícitas. Consulte a Licença para obter as permissões e limitações específicas de governo do idioma nos termos da Licença.