sql >> Database >  >> NoSQL >> MongoDB

Grails - Maak verbinding met een MongoDB-database met behulp van authenticatie

Ik kwam hetzelfde probleem tegen, zodat ik kan helpen uitleggen hoe Mongo authenticatie uitvoert. Je ziet wat je hebt gedaan, je hebt een admin-gebruiker gemaakt in de admin-database, wat geweldig is. U probeert echter rechtstreeks verbinding te maken met "mydb" met de admin-gebruiker, wat niet is toegestaan. Klinkt verwarrend? Het is omdat het zo is. Om dit beter te illustreren is hier een eenvoudige oefening:

  1. Maak een gebruiker aan voor de beheerdersdatabase zoals hierboven.
  2. verlaat de mongo-shell
  3. volg het volgende

Dat zal mislukken. Maar probeer dit in plaats daarvan.

Dit werkt omdat je naar deze database bent overgeschakeld met de beheerderscontext en niet hebt geprobeerd er rechtstreeks verbinding mee te maken.

Dus alles wat u hoeft te doen om dit te laten werken, is rechtstreeks verbinding maken met de DB die u wilt en een gebruikersrecht in die db maken als volgt:

Update je grails-configuratiebestand hiermee en ik wed dat het zal werken.

Merk op dat alleen het laatste deel je antwoord is en je probleem oplost, maar aangezien ik hiermee worstelde en het op de harde manier ontdekte, denk ik dat de context echt helpt om mongo-authenticatie beter te begrijpen.

Wees voorzichtig




  1. Array in een lus plaatsen en MongoDB-verzameling in lus controleren (Async)

  2. Minimale toestemming voor het gebruik van mongodump (om een ​​specifieke db te dumpen)

  3. MongoDB in Go (golang) met mgo:hoe logische operators gebruiken om te zoeken?

  4. Mongoose slaat geen gegevens op