我将MongoDB与Docker一起使用并希望自动化数据库创建。
我发现在将MONGO_INITDB_ROOT_USERNAME
和MONGO_INITDB_ROOT_PASSWORD
环境变量传递给docker run命令时,我可以在admin数据库上创建一个新的root用户。
当我尝试创建新数据库并在其中创建集合时,我的问题就开始了。
我编写了一个脚本来选择管理数据库,对mongo服务进行身份验证并创建新数据库,但由于某些原因我无法使用我的凭据访问数据库..
use admin;
db.auth('myuser', 'mypassword');
use newDatabase;
db.createCollection('newCol');
尝试使用给定的凭据(myuser和mypassword)对newDatabase
进行身份验证时,我发现我没有对数据库所需的权限。
我做错了什么?我怎么能自动完成呢?
答案 0 :(得分:0)
我只是理解root由于某些原因无法访问其他数据库,因此我使用了db.createUser
并为新数据库创建了一个新用户。