从终端开始,应用程序启动并连接MongoDB,但当我尝试在Droplet的IP地址(使用正确的端口)访问它时,我收到错误:
MongoError: not authorized on cmf to execute command
(cmf
是dbname)。
我按照安装&设置说明here,创建用户,然后添加root
描述的here角色。这是针对admin数据库的。
登录到Mongo shell后,我可以通过db.status()
访问数据,使用admin db时,我可以运行show users
并查看用户。
我很困惑我是否缺少cmf
数据库的配置。使用cmf
db时,当我运行show users
时,不会返回任何内容。
由于未知原因,应用程序无法与mongodb连接。我现在对从这里去哪里感到困惑。
如果有人能指出我正确的方向,我将不胜感激。
答案 0 :(得分:0)
您需要使用密码创建数据库用户(如问题中包含的教程),然后连接时:
var dbHost = 'mongodb://username:password@localhost:port/cmf';
mongoose.connect(dbHost);
其中:
username
是已创建用户的用户名password
是密码,port
是运行mongodb的正确端口(默认为27017
)。