Как запускать пользовательские команды MongoDB в ReactiveMongo

Я пытаюсь преобразовать следующую команду MongoDB в формат ReactiveMongo:

db.changeUserPassword("user", "password")

Существует много документации по выполнению агрегированных запросов и сортировке данных после выполнения простой команды, такой как match, count и т. д.

Такие команды, как:

db.collection.insert()

Просты в использовании в ReactiveMongo, но есть ли особый способ преобразования более сложных команд, таких как:

db.grantRolesToUser()
db.createRole()

в команды ReactiveMongo?


person ChazMcDingle    schedule 19.09.2017    source источник
comment
Почему такая настройка/настройка не выполняется вне/до приложения Scala?   -  person cchantep    schedule 23.09.2017
comment
Было бы неплохо, если бы эти параметры также были доступны в Reactive Mongo API, поскольку вы можете добавлять пользователей и переименовывать коллекции с помощью API. Мы рассматривали возможность администрирования нашей базы данных Mongo полностью через службу Akka, но похоже, что вместо этого нам нужно будет выполнять эти задания через Mongo.   -  person ChazMcDingle    schedule 24.09.2017
comment
Обычно я рекомендую настраивать БД вне приложения. Это может иметь значение, если вы хотите разработать приложение, основной целью которого является администрирование БД.   -  person cchantep    schedule 24.09.2017
comment
Надо будет сделать, большое спасибо.   -  person ChazMcDingle    schedule 24.09.2017


Ответы (1)


Трейт DBMetaCommands — это API ReactiveMongo, который поставляется ближе всего к тому, что вы ищете. С помощью этого API можно, например, создать пользователя с паролем и ролями, но я не думаю, что существует API ReactiveMongo, который позволяет обновить существующего пользователя или создать роль.

person Jeffrey Chung    schedule 19.09.2017
comment
Спасибо. Это могло бы работать, если бы в API также была команда удаления пользователя, тогда я мог бы сначала удалить пользователя, а затем создать нового пользователя с новым паролем. Жаль, что документация не очень понятна. - person ChazMcDingle; 19.09.2017
comment
Все операции БД, представленные в виде функций, задокументированы: .org/релизы/0.12/api/ - person cchantep; 23.09.2017