Javascript 无法通过节点中的mongojs访问MongoDB

Javascript 无法通过节点中的mongojs访问MongoDB,javascript,node.js,database,mongodb,mongojs,Javascript,Node.js,Database,Mongodb,Mongojs,在我试图连接到Mongo的节点中有一个简单的代码。我相信这个过程是非常直接的,我是正确的。但是每次我都会遇到身份验证失败的错误。我检查了身份密码,他们很好。有人能告诉我哪里出了问题吗 var express = require('express'); var router = express.Router(); var mongojs = require('mongojs'); var db = mongojs('mongodb://******:********@********.mlab.c

在我试图连接到Mongo的节点中有一个简单的代码。我相信这个过程是非常直接的,我是正确的。但是每次我都会遇到身份验证失败的错误。我检查了身份密码,他们很好。有人能告诉我哪里出了问题吗

var express = require('express');
var router = express.Router();
var mongojs = require('mongojs');
var db = mongojs('mongodb://******:********@********.mlab.com:*****/XXXXXXXX_XXXX', ['XXXX']);

router.get('/tasks', function(req, res, next){
    db.tasks.find(function(err, tasks){
        if(err){
            console.log('connection error!');
            res.send(err);
        }
        res.json(tasks);
    });
});

module.exports = router;

试试看。将其设置为get使用自定义中间件组件,然后将函数传递到.find()调用中。find()将获取所有文档并返回承诺。然后()将在承诺返回后执行,如果.find()出现错误,.catch()将执行。

您是否能够使用相同的凭据使用其他客户端(如robomongo/mongochef/cli)进行连接?刚刚修复。我意识到我使用的是Mlab凭据而不是db用户凭据。
router.get('/tasks', (req, res)) {
db.tasks.find()
    .then(tasks => res.json(tasks))
    .catch(err => res.status(500).json(err);
});