mongoose 是 nodejs 中用于连接 mongdb 的包
1panel 安装 mongodb 默认是有用户名和密码的,这在使用 mongoose 的时候,会出现问题。
默认 mongoose 连接添加用户名和密码的格式如下
mongoose.connect('mongodb://username:password@host:port/database')
即使你用户名和密码正确,也会连接错误,因为用户名和密码根本不在你的 database 中,所以无法成功认证,使用以下方式即可
mongoose.connect('mongodb://username:password@host:port/database',{authSource: 'admin'})
authSource
选项用于告知 MongoDB 客户端应该在哪个数据库中验证用户的凭据
还有一个注意事项的,host 请使用 mongodb 容器的 ip 地址