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
userAdminAnyDatabase
tiladmin
db$ 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
myadmin
bruger 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"] })