Migrar da API herdada
Visão geral
Nesta página, você pode identificar as alterações que deve fazer para migrar da API legada para a API atual. Você também pode aprender sobre os recursos exclusivos do atual Java Driver e os benefícios da migração para a nova API.
A API herdada, empacotada como o JAR mongodb-driver-legacy
, contém o driver Java síncrono herdado e usa convenções de nomenclatura usadas em versões anteriores do driver.
A API atual, embalada como o mongodb-driver-sync
JAR, contém o driver Java síncrono atual. Apresenta a interface do MongoCollection
como um ponto de entrada para operações CRUD. Não contém a API legada.
Para executar uma migração da API herdada para a API atual, certifique-se de que seu código não faça mais referência à API herdada, atualizando seu código quando necessário. Em seguida, substitua a API herdada e qualquer JAR uber que a contenha pelo JAR da API atual nas dependências do aplicativo.
Além de atualizar seu aplicativo para lidar com quaisquer alterações necessárias, sempre verifique se há outras diferenças nas opções e valores de retorno antes de movê-lo para a produção.
Benefícios atuais da API
Você pode continuar a usar a API legada com cada nova versão do MongoDB Server. No entanto, a API legada não suporta quaisquer atualizações introduzidas no MongoDB Server 3.0 ou posterior. Além disso, a API legada não tem suporte para determinados recursos do atual Driver Java. Alguns recursos disponíveis somente na API não legada incluem:
Fluxos de alterações, um recurso do MongoDB Server projetado para monitorar alterações em tempo real em uma única coleção, banco de dados ou sistema
Transações ACID de vários documentos, que garantem a atomicidade de leituras e gravações em vários documentos e permitem transações em várias operações, coleções, bancos de dados, documentos e fragmentos
Coleções de séries temporais, que armazenam sequências de medições ao longo de um período de tempo e melhoram a eficiência da consulta para dados de séries temporais
Queryable Encryption, que permite criptografar cargas de trabalho confidenciais e consultar os dados criptografados
Registros Java ou classes Java concisas que separam a lógica de negócios da representação de dados e reduzem o código boilerplate
Suporte nativo de POJO, que fornece mapeamento automático ou personalizado entre documentos MongoDB e objetos Java
Para saber mais sobre os recursos da API atual, consulte Novidades.
Alterações na API
A tabela a seguir mostra a maioria das alterações nos nomes de classe e método entre a API legada e a atual.
Legacy | Current |
---|---|
Use um dos seguintes métodos: | |
Use um dos seguintes métodos: | |
Use um dos seguintes métodos: | |
Use um dos seguintes métodos: | |
Use um dos seguintes métodos: | |
Além dos itens anteriores, considere as seguintes alterações:
A API atual usa
Options
classes e encadeamento de métodos em vez de métodos sobrecarregados.A API atual usa o formato JSON relaxado por padrão nas versões 4.0 e posteriores do driver. Se o seu aplicativo depender do formato JSON rigoroso, utilize o modo rigoroso ao ler ou gravar dados. Saiba como especificar o formato JSON na API atual no guia Formato de dados do documento: JSON estendido.
O tipo genérico padrão para
MongoCollection
na API atual é org.bson.Document. Você pode especificar BasicDBObject como um parâmetro de tipo se ele facilitar sua migração.Na API atual, o pipeline de agregação que você passa para o método
aggregate()
aceita uma lista de objetos que estendem a interface doBson
. Na API legada, ela aceita uma lista de objetos que estendem a interfaceDBObject
.As assinaturas de método também diferem entre as APIs. Consulte a seguinte documentação da API para obter mais informações:
aggregate() método na API atual
aggregate() na API legada
Interface Bson
Interface do DBObject