【问题标题】:Not being able to MongoDB through mongojs in Node无法通过 Node 中的 mongojs 访问 MongoDB
【发布时间】:2018-04-19 03:47:34
【问题描述】:
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;

我在尝试连接到 Mongo 的节点中有这个简单的代码。我相信这个过程非常简单,我正在正确地遵循它。但是我每次都收到 Authentication failed 错误。我检查了身份证密码,他们很好。谁能告诉我哪里出错了?

【问题讨论】:

  • 您能否使用其他客户端(例如 robomongo/mongochef/cli)使用相同的凭据进行连接?
  • 刚刚修复它。我意识到我使用的是 Mlab 凭据而不是 db 用户凭据。

标签: javascript node.js database mongodb mongojs


【解决方案1】:
router.get('/tasks', (req, res)) {
db.tasks.find()
    .then(tasks => res.json(tasks))
    .catch(err => res.status(500).json(err);
});

试试看。您将其设置为 get 使用自定义中间件组件,然后将函数传递给 .find() 调用。 .find() 将获取所有文档并返回一个承诺。 .then() 会在 promise 返回后执行,而 .catch() 会在 .find() 出错时执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2020-06-26
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多