system.users Collection

在 2.6 版中进行了更改。

在本页面

admin数据库中的system.users集合存储用户authenticationauthorization信息。要 Management 此集合中的数据,MongoDB 提供了用户 Management 命令

system.users Schema

system.users集合中的文档具有以下架构:

{
  _id: <system defined id>,
  userId : <system assigned UUID>,  // Starting in MongoDB 3.6.13
  user: "<name>",
  db: "<database>",
  credentials: { <authentication credentials> },
  roles: [
           { role: "<role name>", db: "<database>" },
           ...
         ],
  customData: <custom information>,
 }

每个system.users文档都有以下字段:

userId适用于 MongoDB 3.6.13 中的用户(未通过 LDAPManagement)created

对于LDAP 托管用户,用户可能没有关联的userId

版本 3.6.13 中的新功能。

角色文档具有以下语法:

{ role: "<role name>", db: "<database>" }

角色文档具有以下字段:

使用role managementuser management命令指定角色时,如果运行该命令的数据库中存在该角色,则可以仅指定角色名称(例如"readWrite")。

Example

在 3.0.0 版中更改。

考虑system.users集合中的以下文档:

{

  _id : "home.Kari",
  "userId" : UUID("ec1eced7-055a-4ca8-8737-60dd02c52793"),  // Available starting in MongoDB 3.6.13
  user : "Kari",
  db : "home",
  credentials : {
         "SCRAM-SHA-1" : {
                 "iterationCount" : 10000,
                 "salt" : nkHYXEZTTYmn+hrY994y1Q==",
                 "storedKey" : "wxWGN3ElQ25WbPjACeXdUmN4nNo=",
                 "serverKey" : "h7vBq5tACT/BtrIElY2QTm+pQzM="
         }
  },
  roles : [
            { role: "read", db: "home" },
            { role: "readWrite", db: "test" },
            { role: "appUser", db: "myApp" }
          ],
  customData : { zipCode: "64157" }
}

该文档显示用户Karihome数据库相关联。 Karihome数据库中具有read角色,在test数据库中具有readWrite角色,在myApp数据库中具有appUser角色。

首页