MongoDB admin 数据库上具有 userAdminAnyDatabase 角色的用户

MongoDB user with role userAdminAnyDatabase on admin database

如果我在 MongoDB 实例的管理数据库中创建一个用户,如下所示:

use admin
db.createUser(
  {
    user: "admin",
    pwd: "adminpassword",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

然后我在同一个 MongoDB 实例上创建了一个名为 "test_db" 的数据库。

我可以使用用户 "admin" 在数据库 "test_db" 上读写数据吗?

或者我是否需要为该数据库创建另一个用户?

不,您需要另一个用户,或者增加 userAdminAnyDatabase 用户的权限。 userAdminAnyDatabase 赋予用户完整的管理员权限,包括向任何用户授予任何角色和特权的权力。它不授予对非用户数据的任何读取或写入权限(尽管用户管理员可以授予自己对任何数据的读取和写入权限)。