MongoDB: метод db.updateRole ()
db.updateRole ()
Метод db.updateRole () используется для обновления пользовательской роли. Обновление поля полностью заменяет значения предыдущего поля.
Синтаксис:
db.updateRole ( "<RoleName>", { привилегии: [ {ресурс: {<ресурс>}, действия: ["<действие>", ...]}, ... ], роли: [ {role: "<role>", db: "<database>"} | "<Роль>", ... ] }, {<writeConcern>} )
Метод db.updateRole () принимает следующие аргументы.
Параметры:
название | Описание | Необходимые / Необязательный | Тип |
---|---|---|---|
RoleName | Имя пользовательской роли для обновления. | необходимые | строка |
Обновить | Документ, содержащий данные замены для роли. Эти данные полностью заменяют соответствующие данные для роли. | необходимые | документ |
writeConcern | Уровень записи касается операции обновления. Документ writeConcern принимает те же поля, что и команда getLastError. | Необязательный | документ |
В документе обновления указываются поля для обновления и новые значения. Каждое поле в документе обновления является необязательным, но документ должен содержать хотя бы одно поле. Документ обновления имеет следующие поля:
название | Описание | Необходимые / Необязательный | Тип |
---|---|---|---|
привилегии | Обязателен, если вы не указали массив ролей. Привилегии для предоставления роли. Обновление массива привилегий переопределяет значения предыдущего массива. Синтаксис для указания привилегий см. В массиве привилегий. | Необязательный | массив |
роли | Требуется, если не указан массив привилегий. Роли, от которых эта роль наследует привилегии. Обновление массива ролей переопределяет значения предыдущего массива. | Необязательный | массив |
В поле ролей вы можете указать как встроенные роли, так и определенные пользователем роли.
Чтобы указать роль, которая существует в той же базе данных, где выполняется db.updateRole (), вы можете указать роль с именем роли:
"readWrite"
Или вы можете указать роль с документом, как в:
{ role: "<role>", db: "<database>" }
Чтобы указать роль, которая существует в другой базе данных, укажите роль с документом.
Пример: MongoDB: метод db.updateRole ()
Следующий метод db.updateRole () заменяет привилегии и роли для роли myroll1, которая существует в базе данных администратора.
use admin
db.updateRole(
"myroll1",
{
privileges:
[
{
resource: { db:"config", collection:" " },
actions: [ "update", "createCollection", "createIndex"]
}
],
roles:
[
{
role: "read",
db: "admin"
}
]
},
{ w:"majority" }
);
Теперь отобразите обновленную роль в базе данных «admin».
Выход:
{ "роль": "myroll1", "db": "admin", "isBuiltin": ложь, "роли": [ { "роль": "читать", "db": "admin" } ], "Унаследованные роли": [ { "роль": "читать", "db": "admin" } ], «привилегии»: [ { "ресурс": { "db": "config", "коллекция": "" }, "действия": [ "CreateCollection", "CreateIndex", "Обновить" ] } ], "унаследованные привилегии": [ { "ресурс": { "db": "config", "коллекция": "" }, "действия": [ "CreateCollection", "CreateIndex", "Обновить" ] }, { "ресурс": { "db": "admin", "коллекция": "" }, "действия": [ "collStats", "DbHash", "dbStats", "находить", "killCursors", "PlanCacheRead" ] }, { "ресурс": { "db": "admin", "collection": "system.indexes" }, "действия": [ "collStats", "DbHash", "dbStats", "находить", "killCursors", "PlanCacheRead" ] }, { "ресурс": { "db": "admin", "collection": "system.js" }, "действия": [ "collStats", "DbHash", "dbStats", "находить", "killCursors", "PlanCacheRead" ] }, { "ресурс": { "db": "admin", "collection": "system.namespaces" }, "действия": [ "collStats", "DbHash", "dbStats", "находить", "killCursors", "PlanCacheRead" ] } ] }
Получить данные о ресторанах здесь
Поведение
За исключением ролей, созданных в базе данных администратора, роль может включать в себя только те привилегии, которые применяются к ее базе данных и могут наследоваться только от других ролей в ее базе данных.
Роль, созданная в базе данных администратора, может включать привилегии, которые применяются к базе данных администратора, другим базам данных или к ресурсу кластера, и может наследоваться от ролей в других базах данных, а также в базе данных администратора.
Предыдущий: метод db.createRole ()
Далее: метод db.dropRole ()
Новый контент: Composer: менеджер зависимостей для PHP , R программирования