sql >> Database teknologi >  >> NoSQL >> MongoDB

Kan ikke køre mongo-container med replikasæt ved hjælp af docker-compose

Dit opstartsscript bør ikke initialisere eller overvåge repliksættet; det burde være manuelle opgaver.

Du skal huske på, at:

  • at starte et replikasæt er strengt taget en enkeltstående opgave; når den først er startet, vil MongoDB-tjenesten, når den genstartes, fortsat være en del af det samme replikasæt.
  • et replikasæt indeholder normalt flere noder, som bør være udskiftelige; hvis hver af dem forsøger at initialisere replikasættet ved opstart, vil de give fejl
  • genstart af en tjeneste er normal, forventet adfærd; for eksempel når du opgraderer til den næste version af MongoDB, eller efter patches til din servervært kræver en genstart eller efter en strømafbrydelse
  • hvis dit script forsøger at initialisere et allerede initialiseret replikasæt, hver gang det starter MongoDB-tjenesten, vil det give fejl

Jeg anbefaler kraftigt, at du foretager tre ændringer:

  1. Lad din mongo-beholder bare køre mongo uden trinene til at starte og overvåge replikasættet.
  2. Hvis du vil køre et replikasæt, skal du starte det omhyggeligt og på en kontrolleret manuel måde; ditto hvis du vil tilføje/fjerne noder eller omkonfigurere.
  3. Hvis du vil overvåge tilstanden af ​​dit replikasæt, skal du bruge et separat værktøj til at gøre det; lad mongotjenesten bare gøre sit almindelige arbejde.


  1. hvordan man søger gennem en mongodb-samling efter ordbogsnøgler indlejret i array

  2. ArrayFilter i mongoose

  3. MongoDB:Skal du stadig angive id'er, der linker til andre samlinger til eller bare inkludere samlinger?

  4. arrayFilters på mongodb php-opdatering