кодесурса
«MongoDB

MongoDB: метод db.updateRole ()

script1adsense2code
script1adsense3code

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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code