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:
-
Importe a chave para o chaveiro GPG com
gpg --import ruby-driver.asc
. -
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. -
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. -
Verifique o gem com
gpg --verify mongo-X.Y.Z.gem.sig mongo-X.Y.Z.gem
(substituindoX.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:
-
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.
-
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:
-
Visite nosso rastreador de problemas e faça login (ou crie uma conta se ainda não tiver uma).
-
Navegue até o projetoRuby .
-
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.