首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Ubuntu16.04上的MongoDB未授权错误

Ubuntu16.04上的MongoDB未授权错误
EN

Stack Overflow用户
提问于 2018-06-06 23:08:43
回答 1查看 268关注 0票数 0

我正在Digitalocean上安装服务器,并且有一个MongoDB问题。我在服务器上安装了Mongo并允许远程访问。

我创建了两个用户。一个是我的超级用户,另一个是网站用户的普通用户。对于两个用户,我都能够通过Robomongo 3T (一个mongo客户端)远程连接到mongo。

但是,当我从浏览器使用该应用程序时,一个简单的登录请求就会给出一个身份验证错误。下面是错误:

代码语言:javascript
复制
MongoError: not authorized on DATABASE_NAME to execute command { find: "users", filter: { email: "YYY", password: "XXX" }, limit: 1,           singleBatch: true, batchSize: 1 }

下面是相关的服务器端代码:

在server.js上连接数据库:

代码语言:javascript
复制
MongoClient.connect(config.mongo_url, (err, client) => {
    if(err) throw err
    console.log('db connected')
    app.locals.db = client
    // start the server
    app.listen(process.env.PORT || 3000, ()=>console.log('listening on port 3000!'))
});

正在尝试连接到服务器上的本地mongo:

代码语言:javascript
复制
database.collection(config.mongo_col_user)
.findOne({
    email: username,
    password: hash
}, (err, user)=>{
    if(err) return done(err)
    if(!user) return done(null, false, {msg: 'not found'})
    if(user.password)
    return done(null, user)
})

我在服务器端使用pm2,我使用ecosystem.config.js,它包含以下代码:

代码语言:javascript
复制
module.exports = {
    apps : [
        {
          name: "NAME",
          script: "SCRIPT_NAME",
          watch: true,
          env: {
            "mongo_url": 'mongodb://USER_NAME:PASSWORD@localhost:27017?authMechanism=SCRAM-SHA-1&authSource=DATABASE_NAME',
            "mongo_db_name": 'DATABASE_NAME',
            "mongo_col_query": "COLLECTION_NAME",
          }
        }
    ]
}

你能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-07 03:51:54

我已经弄明白了。

当我对pm2环境文件ecosystem.config.js进行更改时,我总是使用pm2 restart all重新启动pm2。但是,当您更改文件时,您应该告诉pm2您通过pm2 reload ecosystem.config.js --update-env对其进行了更改。

此外,正确的语法是no

mongodb://USER_NAME:PASSWORD@localhost:27017?authMechanism=SCRAM-SHA-1&authSource=DATABASE_NAME'

mongodb://USER_NAME:PASSWORD@localhost:27017/DATABASE_NAME'

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50723772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档