Configurando o MongoDB Server local para uso com Prisma ORM

Introdução

Prisma é um ORM (Object-Relational Mapper, Mapeador Objeto-Relacional) capaz de trabalhar vários bancos de dados, inclusive com o MongoDB. Já falei mais o Prisma neste outro artigo.

O MongoDB, por seu turno, é um banco de dados não relacional que adota o modelo de dados de documentos. Ele implementa o conjunto de propriedades ACID, e, por isso mesmo, suporta transações.

No entanto, o suporte a transações no MongoDB não é habilitado por padrão durante a instalação. Isso porque esse recurso depende da ativação do modo replica set, que foi projetado para uso em cluster, isto é, um conjunto de várias máquinas operando o mesmo banco de dados. Em uma instalação local, temos apenas uma máquina isolada, e não um cluster.

O problema surge quando tentamos usar o Prisma conectado a uma instância local do MongoDB. O Prisma faz uso intensivo dos recursos transacionais do MongoDB; no entanto, estes só estão disponíveis no modo replica set, em um cluster.

Mesmo com apenas uma máquina, é possível configurar o MongoDB local no modo replica set para simular um cluster, e, assim, poder usar o Prisma com o servidor de banco de dados. E é isso que passaremos a fazer a partir de agora.

Instalação do MongoDB Server Community Edition

Este tutorial pressupõe que você já tenha uma instância do MongoDB Server Community Edition instalada e ativa na sua máquina local. Caso ainda não tenha, acesse o site oficial e baixe o instalador adequado à sua arquitetura e sistema operacional. O processo de instalação é simples, basta seguir as telas.

Alteração no arquivo mongod.cfg

Localize o arquivo mongod.cfg (nos sistemas operacionais Windows, ele fica em C:\Arquivos de Programas\MongoDB\Server\8.0\bin) e abra-o com um editor como o Bloco de Notas ou o Visual Studio Code. Quase no final do arquivo, você verá a seguinte linha:

mongod.cfg
#(...)

#operationProfiling:

#replication

#sharding:

#(...)

O que precisamos é justamente configurar a seção replication. Para tanto, substitua a linha em destaque acima pelas linhas realçadas abaixo:

mongod.cfg
#(...)

#operationProfiling:

replication:
  replSetName: "rs0"

#sharding:

#(...)

Observe que a linha que começa com replSetName deve ter um recuo de 2 (dois) espaços. Salve o arquivo e REINICIE O COMPUTADOR.

Ativando o modo replica set

Reiniciado o computador, abra o MongoDB Compass (ele é instalado juntamente com o MongoDB Server, mas você pode também fazer o download da instalação avulsa dele aqui). Na tela inicial, crie uma nova conexão (clicando sobre o botão Add new connection) e, na tela seguinte, informe a string abaixo e clique sobre Save & Connect.

mongodb://127.0.0.1:27017/?directConnection=true

Uma vez conectado, passe o mouse sobre o nome da conexão e clique sobre o botão >_ para abrir o MongoDB Shell, conforme ilustrado na figura a seguir. (NOTA: em versões mais antigas do MongoDB Compass, o botão para abrir o MongoDB Shell [MONGOSH] se localiza no rodapé do aplicativo.)

Screenshot mostrando como localizar o botão que abre o MongoDB Shell dentro do MongoDB Compass.

Na linha de comando, digite a instrução a seguir e pressione ENTER:

rs.initiate()

Finalize fazendo o mesmo com esta outra instrução:

rs.status()

Caso a configuração tenha dado certo, este último comando exibe uma série de informações sobre o replica set.

Isso é tudo. Agora você já pode conectar o Prisma à sua instância local do MongoDB Server.

Happy coding!

Créditos da imagem em destaque: Freepik, Prisma, MongoDB

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima