Skip to main content
Cada nova versão do Server CE/Server Pro indicará qualquer alteração na versão suportada do MongoDB nas suas notas de versão.

Devo atualizar o MongoDB?

Você só deve considerar atualizar a sua versão do MongoDB se estiver planejando atualizar a sua instância do Server CE/Server Pro. Se estiver executando uma versão do MongoDB mais recente do que a recomendada para a sua versão atual (ou de destino), não é necessário fazer nenhuma alteração.
Nunca deve fazer downgrade da sua versão do MongoDB.
Se você tiver um problema específico que acredite estar relacionado com a sua versão atual do MongoDB, fique à vontade para abrir uma issue se for usuário do Server CE, ou contatar o suporte do Overleaf se for usuário do Server Pro.

Verificar a sua versão do MongoDB

Abrir o shell mongo deverá exibir imediatamente a versão atual. Usuários do Overleaf Toolkit:
Usuários do Docker Compose:

Processo de atualização

A atualização da versão do MongoDB durante uma atualização da sua instância do Server CE/Server Pro é feita da seguinte forma:
  1. Decida para qual versão do Server CE/Server Pro pretende atualizar.
  2. Encontre a versão do MongoDB recomendada por essa versão específica do Overleaf Server CE/Server Pro.
  3. Siga as instruções para atualizar o MongoDB para a versão de destino.
  4. Atualize a versão da imagem do Server CE/Server Pro e reinicie a instância.
A nossa recomendação é atualizar sempre o Server CE/Server Pro para a versão mais recente disponível, pois o seu suporte é sempre garantido (apenas para usuários do Server Pro).
Ao atualizar o Server CE/Pro, recomendamos atualizar para a versão mais recente da versão principal implantada antes de atualizar para a versão mais recente da versão principal seguinte. Se a sua implantação estiver mais de uma versão principal atrás da mais recente, será necessário realizar uma atualização em várias etapas.Por exemplo, se estiver executando a 3.5.10, precisará atualizar para a 3.5.13 -> realizar a migração para o Full Project History -> 4.2.9 -> 5.5.4.Você nunca deve pular versões principais (3.5.10 -> 5.5.4). Se estiver usando o Toolkit e estiver mais de uma versão principal atrás da mais recente, não deve usar o script bin/upgrade, pois precisará realizar uma atualização manual em várias etapas.
É importante garantir que você faça um backup consistente antes de cada atualização de versão principal, para que possa reverter se necessário.

Informações de suporte de versões

Caso decida usar uma versão anterior, esta tabela mostra a versão recomendada do MongoDB para versões anteriores do Server CE/Server Pro, mas você nunca deve fazer downgrade da sua versão do MongoDB.
Server CE/Server ProVersão do MongoDBVersão mínima de compatibilidade de recursosVersão máxima suportada pelo driver Node.js
2.0.x3.4--
2.1.x a 2.4.x3.6--
>=2.5.04.0--
>=3.1.04.2--
>=3.2.04.4--
>=4.2.05.0--
>=5.1.06.0--
>=5.3.16.05.08.0
>=5.5.06.06.08.0
6.0.08.08.08.0
A versão mínima de compatibilidade de recursos acima baseia-se na versão do MongoDB correspondente recomendada para uso com a versão do Overleaf indicada. Se pretender usar uma versão superior, o MongoDB terá o seu próprio requisito mínimo.
Você pode ver a tabela de compatibilidade que especifica as versões suportadas do driver Node.js do MongoDB para uso com o MongoDB aqui. Você pode ver o status de fim de vida de cada versão do MongoDB aqui.

Atualizar o MongoDB

O MongoDB exige atualizações passo a passo. Isso significa que não é possível passar diretamente, digamos, da 4.0 para a 5.0. É necessário primeiro atualizar da 4.2 para a 4.4 e depois para a 5.0.
O MongoDB usa números pares para as suas versões estáveis.

Instruções de atualização ao executar o MongoDB fora do Docker

Aqui estão os links para as instruções de atualização do mongodb.com ao atualizar o MongoDB.
As instruções para a 5.0 e superiores referem-se a uma instalação em replica set, em vez de standalone. Como o Server Pro/CE 4.0.1+ usa transações, o MongoDB precisa ser executado como replica set.
A documentação do MongoDB 3.2 a 4.2 está agora disponível em https://www.mongodb.com/docs/legacy/
Instruções básicas Na maioria dos casos, a atualização exige definir um flag de compatibilidade antes de atualizar efetivamente a versão do mongo. As etapas são as seguintes:
  1. Defina o flag de compatibilidade conforme descrito nas notas de versão do MongoDB (veja os exemplos abaixo).
  2. Em seguida, atualize a imagem do mongo:
    1. Usuários do Toolkit: atualize MONGO_VERSION, por exemplo MONGO_VERSION=6.0
    2. Usuários do Docker Compose: atualize a versão da tag da imagem mongo,
      por exemplo services -> mongo -> image: mongo:6.0;
Exemplo: atualizar o MongoDB da 5.0 para a 6.0 Vamos começar por garantir que estamos executando o MongoDB 6.0: Usuários do Overleaf Toolkit:
Usuários do Docker Compose:
De acordo com as instruções de atualização, o único requisito é ter featureCompatibilityVersion definido como 5.0. Fazemos isso abrindo um shell do MongoDB e executando o comando indicado: Usuários do Overleaf Toolkit:
Os usuários do Docker Compose podem executar docker compose exec mongo mongosh para obter um shell e executar os mesmos comandos que os usuários do Toolkit.
Usuários do Overleaf Toolkit: Em seguida, paramos as instâncias do Server CE/Server Pro e do MongoDB usando o comando bin/stop, definimos MONGO_VERSION=6.0 em config/overleaf.rc e reiniciamos o serviço mongo usando bin/up mongo) para verificar se a atualização correu bem. Por fim, atualizamos a versão da imagem do Server CE/Server Pro para a nossa versão de destino e recriamos todos os serviços usando o comando bin/up -d. Usuários do Docker Compose: Em seguida, paramos as instâncias do Server CE/Server Pro e do MongoDB usando o comando docker compose stop, atualizamos o arquivo docker-compose.yml para usar image: mongo:6.0 e reiniciamos o serviço mongo usando o comando docker compose up mongo para verificar se a atualização correu bem. Por fim, atualizamos a versão da imagem do Server CE/Server Pro para a nossa versão de destino e recriamos todos os serviços usando o comando docker compose up. Comece por garantir que está executando o MongoDB 6.0 usando os comandos mongod --version acima. De acordo com as instruções de atualização, o único requisito é ter featureCompatibilityVersion definido como 6.0. Fazemos isso abrindo um shell do MongoDB e executando o comando db.adminCommand({ setFeatureCompatibilityVersion: "6.0" }) . Usuários do Overleaf Toolkit:
Em seguida, paramos as instâncias do Server CE/Server Pro e do MongoDB usando o comando bin/stop, definimos MONGO_VERSION=7.0 em config/overleaf.rc e reiniciamos o serviço mongo usando bin/up mongo) para verificar se a atualização correu bem. Por fim, atualizamos a versão da imagem do Server CE/Server Pro para a nossa versão de destino e recriamos todos os serviços usando o comando bin/up -d. Comece por garantir que está executando o MongoDB 7.0 usando os comandos mongod --version acima. De acordo com as instruções de atualização, o único requisito é ter featureCompatibilityVersion definido como 7.0. Fazemos isso abrindo um shell do MongoDB e executando o comando db.adminCommand({ setFeatureCompatibilityVersion: "7.0", confirm: true }). Observe que agora é necessário um parâmetro adicional confirm: true.
Em seguida, paramos as instâncias do Server CE/Server Pro e do MongoDB usando o comando bin/stop, definimos MONGO_VERSION=8.0 em config/overleaf.rc e reiniciamos o serviço mongo usando bin/up mongo) para verificar se a atualização correu bem. Por fim, atualizamos a versão da imagem do Server CE/Server Pro para a nossa versão de destino e recriamos todos os serviços usando o comando bin/up -d.

Comandos equivalentes para usuários do Docker Compose

Para usuários do Docker Compose, os comandos equivalentes são:
  • docker compose exec mongo mongod --version para exibir a versão do mongo
  • docker compose exec mongo mongosh para iniciar um shell do mongo para comandos de administração
  • o comando docker compose stop para parar o servidor
  • Editar o arquivo docker-compose.yml para usar image: mongo:6.0 e atualizar a versão do mongo
  • docker compose up mongo para reiniciar o serviço mongo e verificar se a atualização correu bem
  • Editar o arquivo docker-compose.yml para usar image: sharelatex:VERSION e atualizar a versão da imagem
  • docker compose up para recriar todos os serviços.

Criar uma função personalizada

Na versão 5.5.1, introduzimos uma verificação na inicialização para confirmar a versão de compatibilidade de recursos do MongoDB. Se o seu banco de dados MongoDB usar autenticação (por exemplo, autenticação básica), o contêiner sharelatex poderá não iniciar, exibindo um erro de permissão “not authorized on admin to execute command”. Para resolver isso, você pode criar uma nova função (role) no MongoDB e atribuí-la à conta de usuário usada para acessar o banco de dados seguindo as instruções abaixo, ou definir ALLOW_MONGO_ADMIN_CHECK_FAILURES=true para permitir que a verificação falhe sem impedir o início da implantação.
Esta nova função concede apenas permissão para ler parâmetros do servidor MongoDB em todo o cluster e pode ser reutilizada para fins de monitoramento,
Última modificação em 5 de outubro de 2026