我正在学习Mongo DB,Mongoose和Node JS,但似乎无法将Node JS连接到本地Mongo DB。

这是我的代码:

dbtest.js

    var express  = require('express');
    var app      = express();                               // create our app w/ express
    var mongoose = require('mongoose');                     // mongoose for mongodb
    var morgan = require('morgan');             // log requests to the console (express4)
    var bodyParser = require('body-parser');    // pull information from HTML POST (express4)
    var methodOverride = require('method-override'); // simulate DELETE and PUT (express4)

    var options = {
          useMongoClient: true,
          autoIndex: false, // Don't build indexes
          reconnectTries: Number.MAX_VALUE, // Never stop trying to reconnect
          reconnectInterval: 500, // Reconnect every 500ms
          poolSize: 10, // Maintain up to 10 socket connections
          // If not connected, return errors immediately rather than waiting for reconnect
          bufferMaxEntries: 0
};



    var Todo = mongoose.model('Todo', {
        text : String
    }, 'test');

    var status = {
    "status": "not connected"
    };

    app.get('/api/todos', function(req, res) {

            mongoose.connect('mongodb://127.0.0.1:27017/exampleDB',options,function(err)
    {
              if (err) {
              res.json(status);
            } else {
                res.json('Connected');
            }
    });
    });

    app.listen(8080);
    console.log("App listening on port 8080");


当我调用api / todos GET请求时,将返回状态JSON对象,这意味着我无法连接到数据库。

javascript - 无法从Node JS连接到mongo本地数据库-LMLPHP

我完全安装了MongoDB Enterprise Server 3.14.10并使其运行,但是我不知道为什么我的NodeJS应用程序无法连接。

任何建议表示赞赏。

最佳答案

您的第一个mongoose.connect()参数缺少用户名/密码组合:

mongoose.connect('mongodb://username:password@127.0.0.1:27017/exampleDB');

07-25 21:56
查看更多