当我们MongoDB启用auth认证的时候,程序连接数据库时报 MongoServerError: Authentication failed.
但是呢,url、数据库名称、账号、密码都正确,为什么会报这个认证错误呢?
首先去服务器查看MongoDB的日志,日志显示:
UserNotFound: Could not find user xxx@admin
admin库里没有xxx这个用户!这里用的是宝塔安装的MongoDB,通过面板启用的安全认证。很显然,新建的数据库的账号密码没有在admin库中维护,所以程序的连接里加个authSource参数
authSource: xxx
这个的xxx和数据库名称一致,重启项目,成功运行!