Сблъсках се със същия проблем, за да мога да помогна да обясня как Mongo извършва удостоверяване. Виждате какво направихте - създадохте администраторски потребител в администраторската база данни, което е страхотно. Въпреки това се опитвате да се свържете с "mydb" директно с администраторския потребител, което не е разрешено. Звучи объркващо? Това е защото е така. За да илюстрирате това по-добре, ето едно просто упражнение:
- Създайте потребител за администраторската база данни, както сте направили по-горе.
- излезте от mongo shell
- следване
Това ще се провали. Но вместо това опитайте това.
Това ще работи, защото сте превключили към тази база данни с администраторския контекст и не сте опитали да се свържете директно с нея.
Така че всичко, което трябва да направите, за да работи това, е да се свържете директно към желаната от вас база данни и да създадете потребител точно в тази база данни, както следва:
Актуализирайте конфигурационния си файл на grails с това и се обзалагам, че ще работи.
Имайте предвид, че само последната част е вашият отговор и решава проблема ви, но тъй като се борих с това и го разбрах по трудния начин, мисля, че контекстът наистина помага да се разбере по-добре mongo auth.
Внимавайте