我想启用身份验证和远程访问。 对于猫鼬,我使用连接字符串: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')