我对共享的mongodb集群有问题:我尝试通过mongodb的nodejs实现获取数据。几天前,它运行良好。但是现在,我发送给集群的每个getmore命令都非常非常慢。所以我想:也许我只需要关闭然后重新打开它。
因此,我尝试使用mongo shell连接到集群。一切正常,我的用户具有atlasAdmin角色(可以通过db.getUser("admin")
看到),但是当我尝试执行db.shutdownServer()
之类的命令或显示用户时,服务器告诉我我无权。甚至命令“ db.auth("admin", ...pw...)
”也返回1。
经过一番研究,我发现我必须关闭服务器才能有机会解决此问题。但是未经允许,我该怎么办?还有其他可能性可以执行此操作,例如atlas webapp上的按钮还是其他?
Atlas是托管服务,因此特权与裸机MongoDB服务器不同。从MongoDB Database User Privileges这是atlasAdmin的特权列表:
[shutdown
]特权是hostManager role的一部分,没有包括在上面的列表中。
根据您的Atlas部署类型,以下是受限制的命令/特权的列表:
如果需要“打开和关闭”部署,如果您的部署类型支持,则可以使用Test Failover按钮。该按钮将降低主要节点的位置,并选择一个新的主要节点,在大多数情况下,这几乎等同于“关闭并再次打开”。