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

rmongodb-godkendelse mislykkes altid

Du kører sandsynligvis en serverversion af MongoDB 3.0 eller nyere ( 3.x-serien aktuel som skrivning ), som har en opdateret sikkerhedsgodkendelsesmekanisme ( SCRAM-SHA-1 fra MONGODB-CR ), der ikke er kompatibel med ældre driverversioner, der ikke understøtter det.

Den nuværende rmongodb pakkeudgivelse (version 1.8.0 af skrivning), er denne driver baseret på den ældre C-driverimplementering, som ikke er kompatibel med de nye godkendelsesmetoder. Som det også er bemærket i problemerne på det pågældende lager , bemærker forfatteren denne driverafhængighed og siger, at pakken ville kræve en omskrivning for at bruge den nye API, der understøtter den nye godkendelsesmetode.

I skrivende stund ser der ikke ud til at være nogen tiltag til at foretage sådanne ændringer, bortset fra at etablere en ny filial som ikke i øjeblikket er klar til udgivelse.

Dine muligheder er derfor i øjeblikket:

  • Arbejd uden godkendelse, hvor det er muligt
  • Nedgrader MongoDB-serverversionen til en, der understøtter den gamle godkendelse
  • Se efter andre driverimplementeringer, der understøtter den nye godkendelse.

Så "rmongodb" kan i øjeblikket ikke oprette forbindelse til MongoDB 3.x-servere. Anvend enten et af de andre valg, og/eller bidrag selv til arkivet, hvis du er i stand til at fremskynde udviklingen til den næste version med fuld godkendelsesunderstøttelse.

Andre mulige driveralternativer er knyttet til eller diskuteret i det problem, der er linket til i dette svar.




  1. Mongodb C#-driver - kan ikke bruge admin-godkendelse til at få adgang til andre databaser

  2. Mongoose slutter sig til to samlinger og får kun specifikke felter fra den samlede samling

  3. mongoose find alle sender ikke tilbagekald

  4. Redis Sentinel