Menu Docs
Página inicial do Docs
/ /
Conecte-se ao MongoDB

Compressão

O driver Scala suporta compressão de mensagens de e para servidores MongoDB . O driver implementa os três algoritmos suportados pelos servidores MongoDB :

O driver negociará qual algoritmo de compressão, se houver, é usado com base nos recursos informados pelo servidor na resposta de comando hello .

Inclua as seguintes declarações de importação:

import org.mongodb.scala._

Para especificar compressão dentro de um ConnectionString, especifique compressores como parte da string de conexão.

O seguinte código especifica o algoritmo de compressão Snappy:

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=snappy")

O seguinte código especifica o algoritmo de compressão zlib :

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=zlib")

O seguinte código especifica o algoritmo de compressão padrão Z:

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=zstd")

O seguinte código especifica vários algoritmos de compressão:

val mongoClient: MongoClient = MongoClient("mongodb://localhost/?compressors=snappy,zlib,zstd")

Em todos os casos, o driver usa o primeiro compressor da lista para o qual o servidor oferece suporte.

Inclua as seguintes declarações de importação:

import org.mongodb.scala._
import scala.collection.JavaConverters._

Para especificar a compressão em uma instância MongoClientSettings , defina a propriedade compressors como uma lista de instâncias MongoCompressor .

O seguinte código especifica o algoritmo de compressão Snappy:

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createSnappyCompressor).asJava)
.build()
val client = MongoClient(settings)

O seguinte código especifica o algoritmo de compressão zlib :

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createZlibCompressor).asJava)
.build()
val client = MongoClient(settings)

O seguinte código especifica o algoritmo de compressão padrão Z:

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createZstdCompressor).asJava)
.build()
val client = MongoClient(settings)

O seguinte código especifica vários algoritmos de compressão:

val settings = MongoClientSettings.builder()
.compressorList(List(MongoCompressor.createSnappyCompressor,
MongoCompressor.createZlibCompressor,
MongoCompressor.createZstdCompressor).asJava)
.build()
val client = MongoClient(settings)

Assim como na configuração que usa a string de conexão, o driver usa o primeiro compressor da lista para o qual o servidor oferece suporte.

Como o JDK não tem suporte integrado para Snappy ou Zstandard, o driver depende das implementações Snappy e Zstandard de código aberto existentes. Consulte o repositório snappy-java do Github e o repositório zstd-java do Github para obter detalhes.

Voltar

Autenticação

Nesta página