Skip to main content
Enhver ny udgivelse af Server CE/Server Pro angiver eventuelle ændringer i den understøttede version af MongoDB i sine udgivelsesnoter.

Bør jeg opdatere MongoDB?

Du bør kun overveje at opdatere din MongoDB-version, hvis du planlægger at opgradere din instans af Server CE/Server Pro. Hvis du kører en MongoDB-version, der er nyere end den anbefalede for din nuværende (eller ønskede) version, er der ingen grund til at foretage ændringer.
Du bør aldrig nedgradere din MongoDB-version.
Hvis du oplever et specifikt problem, som du tror kan hænge sammen med din nuværende version af MongoDB, er du velkommen til at oprette et issue, hvis du er Server CE-bruger, eller kontakte Overleaf Support, hvis du er Server Pro-bruger.

Kontrol af din MongoDB-version

Når du åbner mongo-shellen, bør den aktuelle version blive vist med det samme. Brugere af Overleaf Toolkit:
Brugere af Docker Compose:

Opdateringsprocessen

Opdatering af MongoDB-versionen i forbindelse med en opgradering af din Server CE/Server Pro-instans foregår således:
  1. Beslut, hvilken version af Server CE/Server Pro du vil opgradere til.
  2. Find den version af MongoDB, som den pågældende udgivelse af Overleaf Server CE/Server Pro anbefaler.
  3. Følg instruktionerne for at opgradere MongoDB til den ønskede version.
  4. Opgrader Server CE/Server Pro-imagets version, og genstart instansen.
Vores anbefaling er altid at opgradere Server CE/Server Pro til den nyeste tilgængelige version, da den altid er garanteret understøttet (kun Server Pro-brugere).
Når du opgraderer Server CE/Pro, anbefaler vi at opgradere til den nyeste udgivelse af den installerede hovedversion, før du opgraderer til den nyeste udgivelse af den næste hovedversion. Hvis din installation er mere end én hovedversion bagud i forhold til den nyeste, skal du udføre en opgradering i flere trin.Hvis du for eksempel kører 3.5.10, skal du opgradere til 3.5.13 -> udføre migreringen af Full Project History -> 4.2.9 -> 5.5.4.Du bør aldrig springe hovedversioner over (3.5.10 -> 5.5.4). Hvis du bruger Toolkit og er mere end én hovedversion bagud, må du ikke bruge scriptet bin/upgrade, da du skal udføre en manuel opgradering i flere trin.
Det er vigtigt, at du tager en konsistent sikkerhedskopi før hver opgradering af hovedversion, så du kan rulle tilbage, hvis det bliver nødvendigt.

Oplysninger om versionsunderstøttelse

Hvis du beslutter dig for at gå til en tidligere version, viser denne tabel den anbefalede version af MongoDB for tidligere udgivelser af Server CE/Server Pro, men du bør aldrig nedgradere din MongoDB-version.
Server CE/Server ProMongoDB-versionMindste funktionskompatibilitetsversionHøjeste version understøttet af Node.js-driveren
2.0.x3.4--
2.1.x til 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
Den mindste funktionskompatibilitetsversion ovenfor er baseret på den tilsvarende MongoDB-version, der anbefales til brug med den viste version af Overleaf. Hvis du planlægger at bruge en højere version, har MongoDB sit eget minimumskrav.
Du kan se kompatibilitetstabellen, der angiver de understøttede versioner af MongoDB Node.js-driveren til brug med MongoDB, her. Du kan se end-of-life-status for hver version af MongoDB her.

Opgradering af MongoDB

MongoDB kræver trinvise opgraderinger. Det betyder, at du ikke kan gå direkte fra f.eks. 4.0 til 5.0. Du skal først opdatere 4.2 til 4.4 og derefter til 5.0.
MongoDB bruger lige tal til sine stabile versioner.

Opdateringsinstruktioner, når MongoDB kører uden for Docker

Her er links til opdateringsinstruktionerne fra mongodb.com til opgradering af MongoDB.
Instruktionerne for 5.0 og nyere henviser til en installation som replica set i stedet for standalone. Da Server Pro/CE 4.0.1+ bruger transaktioner, skal MongoDB køres som et replica set.
Dokumentationen til MongoDB 3.2 til 4.2 er nu tilgængelig via https://www.mongodb.com/docs/legacy/
Grundlæggende instruktioner I de fleste tilfælde kræver opdateringen, at der sættes et kompatibilitetsflag, før mongo-versionen faktisk opdateres. Trinene er som følger:
  1. Sæt kompatibilitetsflaget som beskrevet i MongoDB-udgivelsesnoterne (se eksemplerne nedenfor).
  2. Opdater derefter mongo-imaget:
    1. Toolkit-brugere Opdater MONGO_VERSION, f.eks. MONGO_VERSION=6.0
    2. Docker Compose-brugere Opdater versionen i mongo-imagets tag,
      f.eks. services -> mongo -> image: mongo:6.0;
Eksempel: Opgradering af MongoDB fra 5.0 til 6.0 Lad os starte med at sikre os, at vi kører MongoDB 6.0: Brugere af Overleaf Toolkit:
Brugere af Docker Compose:
Ifølge opgraderingsinstruktionerne er det eneste krav, at featureCompatibilityVersion er sat til 5.0. Det gør vi ved at åbne en MongoDB-shell og køre den angivne kommando: Brugere af Overleaf Toolkit:
Docker Compose-brugere kan køre docker compose exec mongo mongosh for at få en shell og køre de samme kommandoer som Toolkit-brugere.
Brugere af Overleaf Toolkit: Derefter stopper vi Server CE/Server Pro- og MongoDB-instanserne med kommandoen bin/stop, sætter MONGO_VERSION=6.0 i config/overleaf.rc og genstarter derefter mongo-tjenesten med bin/up mongo) for at kontrollere, at opdateringen gik glat. Til sidst opdaterer vi Server CE/Server Pro-imagets version til vores ønskede version og genopretter alle tjenesterne med kommandoen bin/up -d. Brugere af Docker Compose: Derefter stopper vi Server CE/Server Pro- og MongoDB-instanserne med kommandoen docker compose stop, opdaterer filen docker-compose.yml til at bruge image: mongo:6.0 og genstarter derefter mongo-tjenesten med kommandoen docker compose up mongo for at kontrollere, at opdateringen gik glat. Til sidst opdaterer vi Server CE/Server Pro-imagets version til vores ønskede version og genopretter alle tjenester med kommandoen docker compose up. Start med at sikre dig, at du kører MongoDB 6.0, ved hjælp af mongod --version-kommandoerne ovenfor. Ifølge opgraderingsinstruktionerne er det eneste krav, at featureCompatibilityVersion er sat til 6.0. Det gør vi ved at åbne en MongoDB-shell og køre kommandoen db.adminCommand({ setFeatureCompatibilityVersion: "6.0" }). Brugere af Overleaf Toolkit:
Derefter stopper vi Server CE/Server Pro- og MongoDB-instanserne med kommandoen bin/stop, sætter MONGO_VERSION=7.0 i config/overleaf.rc og genstarter derefter mongo-tjenesten med bin/up mongo) for at kontrollere, at opdateringen gik glat. Til sidst opdaterer vi Server CE/Server Pro-imagets version til vores ønskede version og genopretter alle tjenesterne med kommandoen bin/up -d. Start med at sikre dig, at du kører MongoDB 7.0, ved hjælp af mongod --version-kommandoerne ovenfor. Ifølge opgraderingsinstruktionerne er det eneste krav, at featureCompatibilityVersion er sat til 7.0. Det gør vi ved at åbne en MongoDB-shell og køre kommandoen db.adminCommand({ setFeatureCompatibilityVersion: "7.0", confirm: true }). Bemærk, at dette nu kræver en ekstra parameter, confirm: true.
Derefter stopper vi Server CE/Server Pro- og MongoDB-instanserne med kommandoen bin/stop, sætter MONGO_VERSION=8.0 i config/overleaf.rc og genstarter derefter mongo-tjenesten med bin/up mongo) for at kontrollere, at opdateringen gik glat. Til sidst opdaterer vi Server CE/Server Pro-imagets version til vores ønskede version og genopretter alle tjenesterne med kommandoen bin/up -d.

Tilsvarende kommandoer for Docker Compose-brugere

For Docker Compose-brugere er de tilsvarende kommandoer:
  • docker compose exec mongo mongod --version for at vise mongo-versionen
  • docker compose exec mongo mongosh for at starte en mongo-shell til administratorkommandoer
  • Kommandoen docker compose stop for at stoppe serveren
  • Rediger filen docker-compose.yml til at bruge image: mongo:6.0 for at opgradere mongo-versionen
  • docker compose up mongo for at genstarte mongo-tjenesten og kontrollere, at opdateringen gik glat
  • Rediger filen docker-compose.yml til at bruge image: sharelatex:VERSION for at opgradere imagets version
  • docker compose up for at genoprette alle tjenester.

Oprettelse af en brugerdefineret rolle

I version 5.5.1 introducerede vi en kontrol ved opstart, der verificerer MongoDB’s funktionskompatibilitetsversion. Hvis din MongoDB-database bruger godkendelse (f.eks. basic authentication), starter sharelatex-containeren muligvis ikke og viser en rettighedsfejl af typen “not authorized on admin to execute command”. For at løse dette kan du enten oprette en ny rolle i MongoDB og tildele den til den brugerkonto, der bruges til at tilgå databasen, ved hjælp af instruktionerne nedenfor, eller sætte ALLOW_MONGO_ADMIN_CHECK_FAILURES=true for at tillade, at kontrollen mislykkes, uden at det forhindrer installationen i at starte.
Denne nye rolle giver kun tilladelse til at læse klyngedækkende MongoDB-serverparametre og kan genbruges til overvågningsformål,
Sidst ændret 5. oktober 2026