Fejlen var, at jeg brugte en userAdminAnyDatabase bruger, der var IKKE i admin database (se denne note). Så der MÅ være en database kaldet admin på din server! Som dokumentationen siger for "AnyDatabase"-rettighederne:
Hvis du føjer nogen af disse roller til et brugerprivilegiumsdokument uden for admindatabasen, har privilegiet ingen effekt.
Så du skal:
-
tilføje en
userAdminAnyDatabasetiladmindb$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] }) -
slå godkendelse til
auth = true setParameter = enableLocalhostAuthBypass=0 -
opret forbindelse ved hjælp af den nye
myadminbruger til enhver database, du ønsker, og tilføje yderligere brugere:$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })eller
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })