关于MongoDB 授权用户的两个问题

关于MongoDB 的两个问题
描述: 每次使用mongodb 应用程序老是连不上,授权了一个root角色的超级用户,结果程序老是用不了,还得重新去创建库单独进行授权太麻烦了
需求:

  1. mongodb 能不能创建一个用户,可以对多个库进行,读、写,插入,删除,创建,操作
  2. 如果可以我想知道应该怎么做

是可以创建一个拥有多个数据库操作权限的用户角色,可以在创建用户时将其添加到多个数据库中,并设置其具体的读、写、插入、删除、创建等权限。下面是具体的步骤:

  1. 使用root用户登录到MongoDB,并切换到admin库。

  2. 创建所需要的数据库(如果还没有):

    use database_name
    
  3. 创建新的用户并赋予对所需数据库的访问权限:

    db.createUser({
      user: "username",
      pwd: "password",
      roles: [
         { role: "readWrite", db: "database_name" },
         { role: "dbAdmin", db: "database_name" },
         // 可以添加其他的角色和数据库
      ]
    })
    
  4. 按照需要重复第二步和第三步,以便将用户添加到多个数据库中。

  5. 在应用程序中使用新创建的用户进行数据库操作。

需要注意的是,在实际应用中,为了确保数据的安全性,应该根据具体情况为每个应用程序创建特定的用户角色,并限制其访问权限。此外,为了避免密码等敏感信息泄露,还应该采取必要的安全措施,如加密存储密码等。

希望这些步骤能对您有所帮助。