MongoDB文档中指出,可以用任何数据库作为认证数据库来创建用户。我有什么理由选择在 "admin "数据库中创建用户,除非我打算授予它集群级别的权限?
我是否应该避免在 "管理员 "数据库中创建用户?'管理员' 数据库,除非上述条件适用?
用户的存储位置并不影响用户被授予什么权限。
如果你喜欢把所有的用户定义在同一个地方,那么把他们保存在admin数据库中是有意义的。
如果你的用户每个人只能访问一个数据库,而你又喜欢把用户定义在他们有访问权限的数据库中,那么把他们定义在他们有访问权限的数据库中可能是有意义的。
无论是哪种情况,用户可以访问哪些数据库,以及允许他们执行哪些操作,都可以按每个用户来定义。
如果你把用户存储在admin数据库中,但客户端连接的是另一个数据库,那么你的 authSource
必须 连接时明确指定.