MongoDB,猫鼬数据库无效,但可以远程工作



我想启用身份验证和远程访问。 对于猫鼬,我使用连接字符串:mongoose.connect('mongodb://username:password@host:port/database')

如果我使用指南针远程连接,它可以工作,但mongoose.connect返回无效的数据库名称。

但是,如果我从字符串中删除数据库名称,mongoose 会连接到"测试"数据库,并且无法执行任何操作,因为它没有权限(我的用户只有对某些数据库的权限(。

我真的不明白为什么会这样。

您必须指定存储用户名的数据库名称

例如,如果用户处于database

mongoose.connect('mongodb://username:password@host:port/database?authSource=database')

如果用户在管理数据库中:

mongoose.connect('mongodb://username:password@host:port/database?authSource=admin')

最新更新