2015-02-23 79 views
0

我一直在使用MongoDB一会儿。我一直设法连接,而不使用用户名和密码(在我设置Mongo的2台服务器上)。MongoDB连接凭证

我现在想改变它,所以用户名和密码必须被使用。到目前为止,我使用userAdminAnyDatabase角色在admin数据库中创建了一个用户。我可以看到用户在那里。

接下来,我尽量让我的连接并进行测试:

mongoose.connect("mongodb://username:[email protected]:8080/MEAN"); 

var conn = mongoose.connection;    

conn.on("error", function(err){ 
    console.log(err); 
}); 

我没有把我的真实的用户名和密码,还有的课程。 有了这个,我得到以下错误:[Error: connection closed]

这是怎么回事?

+0

是你的密码“密码”和你的用户名“用户名”? – 2015-02-23 14:06:01

+0

@HelioSantos哈哈不,我明显没有公布真正的凭据安全原因 – Coop 2015-02-23 14:06:51

+0

启动'mongo'实例usind'--auth'模式,或在'mongo.conf'中设置'auth = true' – itzMEonTV 2015-02-23 14:07:37

回答

1

如果你想与凭证连接,使用--auth

sudo mongod --dbpath=/your/db/path --auth 

/etc/mongodb.conf

开始蒙戈mongo实例,设置

auth=true 

然后重启服务

sudo service mongodb restart 
+0

感谢您的帮助。在我本地版本的Mongo(Mac Yosemite)上,我似乎没有/ etc /目录下的mongodb.conf文件(尽管我可以在安装了它的另一台服务器上看到它)。 – Coop 2015-02-23 14:15:03

+0

我的意思是无论'mongo'配置文件:) – itzMEonTV 2015-02-23 14:16:20

+0

啊是的,我在'/ usr/local/etc/mongod.conf'中找到了它。谢谢,我现在就试试这个。 – Coop 2015-02-23 14:17:25