如何在 docker 上的 mongoDB 上设置身份验证-compose with nodejs?

How to setup authentication on mongoDB on docker-compose with nodejs?

我想在使用我的 nodejs 应用程序连接到 mongoDB 数据库时设置基本身份验证。

通过指定

查看了 mongo 图片的文档
environment:
    - MONGO_INITDB_ROOT_USERNAME=admin
    - MONGO_INITDB_ROOT_PASSWORD=pass

但这似乎不起作用,当我在 nodejs (mongoose) 中使用连接字符串时

mongodb://admin:pass@mongo:27017/myDatabase

我只想设置基本身份验证以防止任何类似这样的勒索软件攻击:

MONGO_INITDB_ROOT_USERNAMEMONGO_INITDB_ROOT_PASSWORD 用于设置超级用户帐户以管理整个数据库。
您可以使用此连接字符串以管理员权限连接 mongodb://<MONGO_INITDB_ROOT_USERNAME>:<MONGO_INITDB_ROOT_PASSWORD>@mongo:27017 并创建数据库 myDatabase,之后您还必须创建用户 允许查询数据库的角色。

例如

> use myDatabase
> db.createUser({user: "user", pwd: "user", roles:["dbOwner"]})

然后你可以连接这个字符串

mongodb://user:user@mongo:27017/myDatabase