将MongoStore连接到数据库并使用管理员身份验证身份验证

时间:2014-04-01 20:54:50

标签: mongodb express mongoose session-store

有没有办法将MongoStore实例化为数据库并使用“admin”进行身份验证?

像mongoose一样:

var db = mongoose.createConnection('mongodb://myname:mypwd@localhost:27017/mydb', { auth: { authdb:"admin" } });

2 个答案:

答案 0 :(得分:1)

当你谈到MongoStore时,你的意思是这个项目 - https://github.com/diversario/connect-mongostore

如果你这样做,答案是肯定的,它使用与mydb示例的URI部分相同的语法。您只需将用户和密码字段中的值更改为适合您的数据库的值。在下面的代码段中,它连接到端口27101上运行的mongod实例,其用户名为“user”,密码为“password”,位于“admin”数据库中。

new MongoStore('mongodb://user:password@127.0.0.1:27017/admin')

答案 1 :(得分:0)

最好的方法是-

'mongodb://' + mongo_username + ':' + encodeURIComponent(mongo_password) + '@' 
+ ip + ':27017/' + dbName+ '?authSource=admin'
如果密码包含特殊字符,则使用

encodeURIComponent()