作者:亚艾元技术部
我们在一个Nodejs项目中,使用了mongodb数据库,使用习惯和mysql很不一样,在摸索中前进,其中一个问题,mongodb安装完了以后,不用设置用户名密码,就可以登录使用。开始的时候,还是很方便的,最小化配置,不过随着项目将要上线,我们不能这样连一个密码都不设置,这样太不安全,实践了一下如何设置mongdb的密码。操作步骤如下:
修改设置用户名,
mongo
use admin
db.createUser({user:"admin",pwd:"mypassword",roles:["root"]})
修改mongodb的配置文件mongod.cfg,增加:
security:
authorization: enabled
通过服务启动mongodb,我开始使用命令行启动,好像没有生效。
启动以后,打开koa2程序,总是提示报错,连不上。
MongoNetworkError: failed to connect to server
检查原因
export const mongodbUri = 'mongodb://admin:mypassword@127.0.0.1:27017/myapp?authSource=admin';
mongdb uri需要追加 ?authSource=admin
或许是因为这个用户名,不是专门管理myapp的,需要声明一下。