应用程序无法连接到DigitalOcean Droplet上的mongodb

时间:2017-10-17 16:29:36

标签: node.js mongodb

从终端开始,应用程序启动并连接MongoDB,但当我尝试在Droplet的IP地址(使用正确的端口)访问它时,我收到错误:

MongoError: not authorized on cmf to execute commandcmf是dbname)。

我按照安装&设置说明here,创建用户,然后添加root描述的here角色。这是针对admin数据库的。

登录到Mongo shell后,我可以通过db.status()访问数据,使用admin db时,我可以运行show users并查看用户。

我很困惑我是否缺少cmf数据库的配置。使用cmf db时,当我运行show users时,不会返回任何内容。

由于未知原因,应用程序无法与mongodb连接。我现在对从这里去哪里感到困惑。

如果有人能指出我正确的方向,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

您需要使用密码创建数据库用户(如问题中包含的教程),然后连接时:

var dbHost = 'mongodb://username:password@localhost:port/cmf';
mongoose.connect(dbHost);

其中:

  • username是已创建用户的用户名
  • password是密码,
  • port是运行mongodb的正确端口(默认为27017)。