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

Grails - Opret forbindelse til en MongoDB-database ved hjælp af godkendelse

Jeg stødte på det samme problem, så jeg kan hjælpe med at forklare, hvordan Mongo udfører godkendelse. Du kan se, hvad du gjorde, er at du oprettede en admin-bruger i admin-databasen, hvilket er fantastisk. Men du forsøger at oprette forbindelse til "mydb" direkte med admin-brugeren, hvilket ikke er tilladt. Lyder det forvirrende? Det er fordi det er. For at illustrere dette bedre er her en simpel øvelse:

  1. Opret en bruger til admin db som du har ovenfor.
  2. forlad mongo-skallen
  3. kør følgende

Det vil mislykkes. Men prøv dette i stedet.

Dette vil fungere, fordi du skiftede til denne db med admin-konteksten og ikke forsøgte at oprette forbindelse til den direkte.

Så alt hvad du skal gøre for at få dette til at fungere, er at oprette forbindelse direkte til den DB, du ønsker, og oprette en brugerret i den db som følger:

Opdater din grails-konfigurationsfil med denne, og jeg vil vædde på, at det vil virke.

Bemærk, at kun den sidste del er dit svar og løser dit problem, men da jeg kæmpede med dette og fandt ud af det på den hårde måde, tror jeg, at konteksten virkelig hjælper med at forstå mongo auth bedre.

Pas på




  1. Sådan bruger du Redis fra Node.js

  2. Hvordan kan jeg tilføje billeder i mongoDB?

  3. Delvis opdatering af et underdokument med nodejs/mongoose

  4. Hvordan fungerer PubSub i BookSleeve/ Redis?