Introdução
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:
#(...)
#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:
#(...)
#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=trueUma 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.)

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
