Node.js MongoError:未授权查询

Node.js MongoError:未授权查询,node.js,mongodb,amazon-web-services,mongoose,bitnami,Node.js,Mongodb,Amazon Web Services,Mongoose,Bitnami,我有一个小Node.js/Express/Mongoose应用程序,每当我尝试运行时,我都会在使用Bitnami AMI构建的AWS-EC2实例上运行它 { "name": "MongoError" } [MongoError: not authorized for query on projectDB.areas] 我尝试使用以下3个连接字符串,但所有3个都返回相同的结果,请有人告诉我这里缺少什么/做错了什么?谢谢 var connectionString = 'mongodb:/

我有一个小Node.js/Express/Mongoose应用程序,每当我尝试运行时,我都会在使用Bitnami AMI构建的AWS-EC2实例上运行它

{
    "name": "MongoError"
}

[MongoError: not authorized for query on projectDB.areas]
我尝试使用以下3个连接字符串,但所有3个都返回相同的结果,请有人告诉我这里缺少什么/做错了什么?谢谢

var connectionString = 'mongodb://localhost:27017/'+dbName;
var connectionString = 'mongodb://root:bitnami@localhost:27017/'+dbName;
var connectionString = 'mongodb://root@localhost:27017/'+dbName;
My node.js应用程序代码:

area.js

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var areaSchema = new Schema({
    name: { type: String, required: true },
});
module.exports = mongoose.model('Area', areaSchema);
areas.js

var Area = require('../app/models/area');
var express = require('express');
var router = express.Router();
router.route('/').get(function(req, res){
   Area.find(function(err, areas){
        if(err){
            return res.send(err);
        }
        res.json(areas);
        //res.send({sucess:true, areas:areas})
    });
});
app.js

var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var areas = require('./routes/areas');

var app = express();
app.set('port', process.env.PORT || 8080);
app.use(bodyParser.json({ type: 'application/*+json' }));
var dbName = 'projectDB';
var connectionString = 'mongodb://localhost:27017/'+dbName;
// var connectionString = 'mongodb://root:bitnami@localhost:27017/'+dbName;
// var connectionString = 'mongodb://root@localhost:27017/'+dbName;
////////Tried the above 3 connection strings, none worked...
mongoose.connect(connectionString, function(err){
  if(err){
    throw err;
  }
});

var corsOptions = {
  origin: '*',
  allowedHeaders: ['Content-Type'],
  methods: ['POST','GET','PUT','DELETE'],
  credentials: true
};
app.use(cors(corsOptions));
app.use('/api/areas', areas);
module.exports = app;
www.js

var app = require('../app');
var server = app.listen(app.get('port'), function(){
    console.log('Server running on port: '+ server.address().port);
});

因为,运行
$mongo admin--username root--password bitnami
并没有将您带入mongo shell

假设您在服务器上而不是本地计算机上运行了该代码,这只意味着您的MongoDB尚未正确安装。您可能应该完全从AWS中删除该实例,然后从头开始设置。否则,只需按照MongoDB网站上的说明安装MongoDB

此外,对于Node.js,请使用以下代码确保您已实际连接:

`


`@johnyhk发帖,谢谢你是否进入mongo shell,如果你做了
$mongo admin--username root--password bitnami
?还有一件事:
mongoose.connect(“mongodb://root@本地主机:27017/projectDB“;var db=猫鼬连接;once('open',function(){console.log('MongoDB connection successful');})你收到成功消息了吗?@RahatMahbub mongo admin--username…不允许登录,不,我看不到消息
mongoose.connect("mongodb://root@localhost:27017/projectDB");
var db = mongoose.connection;
db.once('open', function () {
console.log('MongoDB connection successful.');
});