Я пытаюсь запустить приведенную ниже команду, чтобы получить статус набора реплик. Но я получаю следующую ошибку:
db.adminCommand({replSetGetStatus: 1})
{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { replSetGetStatus: 1.0 }",
"code" : 13
}
Вот мой пользовательский документ в коллекции db.system.users
{
"_id" : "admin.prodDb",
"user" : "prodDb",
"db" : "admin",
"credentials" : {
"SCRAM-SHA-1" : {
"iterationCount" : 10000,
"salt" : "okdfd74YA3/mTiSad2+zjS4Ag= = ",
"storedKey" : "aoCDvsdfh+asvbGajSinnUvXaqc08 = ",
"serverKey" : "kdc6B3LgvrNE4gT1CsBEzEvDCadms = "
}
},
"roles" : [
{
"role" : "readWrite",
"db" : "XXXX"
},
{
"role" : "readWrite",
"db" : "XXXX"
},
{
"role" : "readWrite",
"db" : "XXXX"
},
{
"role" : "readWrite",
"db" : "XXXX"
}
]
}
Затем я попытался предоставить доступ для чтения к административной базе данных, сделав это -
db.system.users.update({'user': 'prodDb'}, {$push: {"roles": {"role": "read", "db": "admin"}}})
Я также изменил роль с read на readWrite, но проблема не исчезла. Я не хочу предоставлять этому пользователю права admin. Что мне делать.

Пользователь должен иметь роль clusterManager: https://docs.mongodb.com/manual/reference/built-in-roles/#clusterManager
clusterMonitor - это правильная роль пользователя, поскольку он обеспечивает доступ только для чтения к инструментам мониторинга. В любом случае спасибо.
Этот вопрос действительно относится к dba.stackexchange.com, который является сайтом, который следует использовать для администрирования базы данных и вопросов конфигурации. StackOverflow предназначен только для тем программирования, к которым этот вопрос не относится. Переместите свой вопрос на правильный сайт, удалив его и разместив повторно.