分析:mongo账号及密码正确,不指定的集合可以连接
解决方案:
指定集合必须使用authSource=admin&retryWrites=true&w=majority 来指定认证
如果用户是在管理数据库中创建的,但您希望使用URI连接到其他数据库,则需要在URI中指定authSource,以便找到正确的用户帐户
格式:mongo://adminName:adminPassword@localhost:27017/otherdb?authSource=admin&retryWrites=true&w=majority"
db_uri = "mongodb://" + usr + ":" + pwd + "@" + \
url + "/test_db?authSource=admin&retryWrites=true&w=majority"
参考: