Menu Docs
Página inicial do Docs
/ / /
Driver Scala

Comece com o driver Scala

O MongoDB Scala Driver é uma API assíncrona construída sobre o driver Java Reactive Streams, que você pode usar para se conectar ao MongoDB e interagir com dados armazenados em seu sistema. Este guia mostra como criar um aplicação que usa o driver Scala para se conectar a um cluster MongoDB hospedado no MongoDB Atlas e consultar dados em seu cluster.

Dica

O MongoDB Atlas é um serviço de banco de dados em nuvem totalmente gerenciado que hospeda seu Implantações do MongoDB. Você pode criar sua própria implantação do MongoDB Atlas gratuita (nenhum cartão de crédito exigido) seguindo as etapas deste guia.

Siga este guia para conectar um aplicação Scala de amostra a uma implantação do MongoDB Atlas . Se você preferir se conectar ao MongoDB usando um driver ou uma linguagem de programação diferente, consulte nossa lista de drivers oficiais.

1

Antes de desenvolver, verifique se você tem as seguintes dependências instaladas em seu ambiente de desenvolvimento:

2

Execute o seguinte comando em sua shell para criar um diretório chamado scala-quickstart para este projeto:

mkdir scala-quickstart

Selecione a aba correspondente ao seu sistema operacional e execute os seguintes comandos para criar um arquivo build.sbt no diretório scala-quickstart:

cd scala-quickstart
touch build.sbt
cd scala-quickstart
type nul > build.sbt
3

Navegue até seu arquivo build.sbt e adicione o seguinte código para usar o driver Scala em seu aplicação:

ThisBuild / scalaVersion := "2.13.16"
libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "5.5.1"

Este código configura seu aplicação para usar a versão 2.13.16 do driver Scala e a versão 5.5.1 do driver Scala.

Depois de concluir estas etapas, você tem um novo diretório de projeto com as dependências do driver instaladas.

Você pode criar uma implantação MongoDB de camada gratuita no MongoDB Atlas para armazenar e gerenciar seus dados. O MongoDB Atlas hospeda e gerencia seu banco de dados MongoDB na nuvem.

1

Complete o guia Iniciar com Atlas para configurar uma nova conta Atlas e carregar dados de amostra em uma nova implantação MongoDB de camada gratuita.

2

Depois de criar o usuário do banco de dados, salve o nome de usuário e a senha desse usuário em um local seguro para uso em uma próxima etapa.

Após concluir estas etapas, você terá uma nova implantação de camada grátis do MongoDB no Atlas, credenciais de trigger de banco de dados e dados de exemplo carregados no seu reconhecimento de data center.

Você pode se conectar à sua implantação do MongoDB fornecendo um URI de conexão, também chamado de connection string, que instrui o driver sobre como se conectar a uma implantação do MongoDB e como se comportar enquanto estiver conectado.

A cadeia de conexão inclui o nome do host ou endereço IP e porta de sua implantação, o mecanismo de autenticação, as credenciais do usuário quando aplicável, e opções de conexão.

Para saber como se conectar a uma instância ou sistema não hospedado no Atlas, consulte o guia Escolher um Destino de Conexão.

1

Para recuperar a string de conexão da implantação criada na etapa anterior, faça login na sua conta do Atlas e navegue até a seção Database e clique no botão Connect para a nova implantação.

O botão de conexão na seção de clusters da UI do Atlas

Em seguida, selecione a opção Drivers no cabeçalho Connect to your application. Selecione "Scala" no menu de seleção Driver e a versão que melhor corresponde à versão instalada no menu de seleção Version.

2

Clique no botão à direita da string de conexão para copiá-la para a área de transferência, como mostrado na seguinte captura de tela:

O botão copiar ao lado da string de conexão na UI do Atlas
3

Cole esta connection string em um arquivo no editor de texto de sua preferência e substitua os placeholders <db_username> e <db_password> pelo seu nome de usuário e senha de utilizador de banco de dados.

Salve este arquivo em um local seguro para uso na próxima etapa.

Depois de concluir essas etapas, você tem uma string de conexão que corresponde ao seu Atlas cluster.

Depois de recuperar a string de conexão para sua implantação do MongoDB Atlas , você pode se conectar à implantação do seu aplicação Scala e consultar os conjuntos de dados de amostra do Atlas .

1

Navegue até o diretório scala-quickstart que você criou na etapa Baixar e instalar deste guia e crie os diretórios aninhados src/main/scala/quickstart.

Selecione a guia correspondente ao seu sistema operacional e execute os seguintes comandos para criar um arquivo Main.scala no subdiretório quickstart:

cd src/main/scala/quickstart
touch Main.scala
cd src/main/scala/quickstart
type nul > Main.scala
2

Adicione o seguinte arquivo Helpers.scala do código-fonte do driver ao diretório src/main/scala/quickstart:

package quickstart
import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration.Duration
import org.mongodb.scala._
object Helpers {
implicit class DocumentObservable[C](val observable: Observable[Document]) extends ImplicitObservable[Document] {
override val converter: (Document) => String = (doc) => doc.toJson
}
implicit class GenericObservable[C](val observable: Observable[C]) extends ImplicitObservable[C] {
override val converter: (C) => String = (doc) => Option(doc).map(_.toString).getOrElse("")
}
trait ImplicitObservable[C] {
val observable: Observable[C]
val converter: (C) => String
def results(): Seq[C] = Await.result(observable.toFuture(), Duration(10, TimeUnit.SECONDS))
def headResult() = Await.result(observable.head(), Duration(10, TimeUnit.SECONDS))
def printResults(initial: String = ""): Unit = {
if (initial.length > 0) print(initial)
results().foreach(res => println(converter(res)))
}
def printHeadResult(initial: String = ""): Unit = println(s"${initial}${converter(headResult())}")
}
}

Este arquivo permite acessar métodos assistente para imprimir resultados de consulta.

3

Copie e cole o seguinte código no arquivo Main.scala , que consulta a coleção movies no banco de banco de dados sample_mflix :

package quickstart
import org.mongodb.scala._
import org.mongodb.scala.model.Filters._
import Helpers._
object Main {
def main(args: Array[String]): Unit = {
val mongoClient = MongoClient("<connection string>")
val database: MongoDatabase =
mongoClient.getDatabase("sample_mflix")
val collection: MongoCollection[Document] =
database.getCollection("movies")
val filter = equal("title", "The Shawshank Redemption")
collection.find(filter).printResults()
mongoClient.close()
}
}
4

Substitua o placeholder <connection string> pela string de conexão que você copiou da etapa Criar uma Connection string deste guia.

5

No diretório raiz do projeto , execute os seguintes comandos para iniciar o shell sbt e executar seu aplicação:

sbt
run

A saída da linha de comando contém detalhes sobre o documento de filme recuperado:

{"_id": {"$oid": "..."}, ... , "genres": ["Crime", "Drama"], "rated": "R",
"metacritic": 80, "title": "The Shawshank Redemption", ... }

Se você encontrar um erro ou não vir nenhuma saída, verifique se especificou a string de conexão adequada no arquivo Main.scala e se carregou os dados de amostra.

Dica

Você pode sair do sbt shell executando o seguinte comando:

exit

Depois de concluir essas etapas, você tem um aplicação Scala que se conecta à implementação do MongoDB , executa uma query nos dados de amostra e retorna um documento correspondente.

Parabéns por concluir o tutorial de início rápido!

Neste tutorial, você criou um aplicação Scala que se conecta a um sistema MongoDB hospedado no MongoDB Atlas e recupera um documento que corresponde a uma query.

Saiba mais sobre o driver Scala nos seguintes recursos:

Observação

Caso ocorra algum problema nesta etapa, peça ajuda nos Fóruns da MongoDB Community ou envie feedback pela aba Rate this page no lado direito ou no canto inferior direito desta página.

Voltar

MongoDB scala driver