Node.js 应用程序无法连接到DigitalOcean droplet上的mongodb

Node.js 应用程序无法连接到DigitalOcean droplet上的mongodb,node.js,mongodb,Node.js,Mongodb,从终端,应用程序启动并连接MongoDB,但当我尝试在水滴的IP地址(使用正确的端口)访问它时,我收到一个错误: MongoError:未在cmf上授权执行命令(cmf是数据库名) 我按照安装和设置说明创建了一个用户,然后添加了所描述的root角色。这是用于管理数据库的 登录Mongo shell时,我可以通过db.status()访问数据,使用admin db时,我可以运行show users并查看用户 我不清楚是否缺少cmf数据库的配置。当使用cmfdb时,当我运行show users时,不

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

MongoError:未在cmf上授权执行命令(
cmf
是数据库名)

我按照安装和设置说明创建了一个用户,然后添加了所描述的
root
角色。这是用于管理数据库的

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

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

由于未知原因,应用程序无法与mongodb连接。我现在完全不知道该从这里走到哪里


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

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

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

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

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

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

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

您可以复制并粘贴您尝试连接的javascript代码行吗?var url='0mongodb://localhost/cmf'; mongoose.connect(url);您可以复制并粘贴您尝试连接的javascript代码行吗?var url='1!'mongodb://localhost/cmf'; mongoose.connect(url);谢谢获取错误:MongoError:Authentication failed…”我将dbHost字符串中的变量替换为运行
show users
后显示的用户值
use admin
,并使用27017作为端口值。当您说“创建数据库用户”时,您的意思是在cmf db中而不是在admin中创建用户(db.createUser)(设置说明中使用了admin)是的,您需要在
cmf
中有一个用户连接到
cmf
。要查看它是否有效,请在
dbHost
中将
cmf
替换为
admin
,然后使用它连接到
管理员
,只是为了快速测试。进度。它已连接!真为您高兴!是的,越来越近了。谢谢!现在我正在设法找到一个解决方法为cmf db添加一个用户。谢谢。获取错误:MongoError:身份验证失败…”我将dbHost字符串中的变量替换为在运行
show users
后显示的用户值
use admin
,并使用27017作为端口值。当您说“创建数据库用户”时,您的意思是创建用户吗cmf db中的(db.createUser)而不是admin(安装说明中使用了admin)是的,您需要在
cmf
中有一个用户连接到
cmf
。要查看它是否有效,请在
dbHost
中将
cmf
替换为
admin
,然后使用它连接到
管理员
,只是为了快速测试。进度。它已连接!真为您高兴!是的,越来越近了。谢谢!现在我正在设法找到一个解决方法为cmf数据库添加一个用户。