簡體   English   中英

無法連接到MongoDB。 請確保mongod在mongodb:// localhost:27017 / mongo-server上運行

[英]Unable to connect to MongoDB. Please make sure mongod is running on mongodb://localhost:27017/mongo-server

運行index.js時遇到此問題。

這是我的代碼:

var http = require('http'),
    express = require('express'),
    path = require('path'),
    MongoClient = require('mongodb').MongoClient,
    Server = require('mongodb').Server,
    CollectionDriver = require('./collectionDriver').CollectionDriver;

var app = express();
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: false}));

var mongoHost = 'localHost';
var mongoPort = 27017;
var collectionDriver;

var url = 'mongodb://localhost:27017/mongo-server';
// Use connect method to connect to the server
MongoClient.connect(url, function(error, db) {
  if (error) {
    console.error("Unable to connect to MongoDB. Please make sure mongod is running on %s.", url);
    process.exit(1);
  }

  console.log("Connected to MongoDB successfully.");
  collectionDriver = new CollectionDriver(db);
});

app.use(express.static(path.join(__dirname, 'public')));

app.get('/', function (req, res) {
  res.send('<html><body><h1>Hello World</h1></body></html>');
});

app.get('/:collection', function(req, res) {
   var params = req.params;
   collectionDriver.findAll(req.params.collection, function(error, objs) {
          if (error) { res.send(400, error); }
          else {
              if (req.accepts('html')) {
                  res.render('data',{objects: objs, collection: req.params.collection});
              } else {
              res.set('Content-Type','application/json');
                  res.send(200, objs);
              }
         }
    });
});

app.get('/:collection/:entity', function(req, res) {
   var params = req.params;
   var entity = params.entity;
   var collection = params.collection;
   if (entity) {
       collectionDriver.get(collection, entity, function(error, objs) {
          if (error) { res.send(400, error); }
          else { res.send(200, objs); }
       });
   } else {
      res.send(400, {error: 'bad url', url: req.url});
   }
});

app.post('/:collection', function(req, res) {
    var object = req.body;
    var collection = req.params.collection;
    collectionDriver.save(collection, object, function(err,docs) {
          if (err) { res.send(400, err); }
          else { res.send(201, docs); }
     });
});

app.put('/:collection/:entity', function(req, res) {
    var params = req.params;
    var entity = params.entity;
    var collection = params.collection;
    if (entity) {
       collectionDriver.update(collection, req.body, entity, function(error, objs) {
          if (error) { res.send(400, error); }
          else { res.send(200, objs); }
       });
   } else {
       var error = { "message" : "Cannot PUT a whole collection" }
       res.send(400, error);
   }
});

app.delete('/:collection/:entity', function(req, res) {
    var params = req.params;
    var entity = params.entity;
    var collection = params.collection;
    if (entity) {
       collectionDriver.delete(collection, entity, function(error, objs) {
          if (error) { res.send(400, error); }
          else { res.send(200, objs); }
       });
   } else {
       var error = { "message" : "Cannot DELETE a whole collection" }
       res.send(400, error);
   }
});

app.use(function (req,res) {
    res.render('404', {url:req.url});
});

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

我是MongoDB的新手。

  • 為此,首先啟動Mongo Server步驟
  • C:\\ Program Files \\ MongoDB \\ Server \\ 3.2 \\ bin
  • 現在寫mongod
  • 成功運行后,您將看到此輸出

我的連接代碼

var MongoClient = require('mongodb').MongoClient,
    format = require('util').format;
MongoClient.connect('mongodb://127.0.0.1:27017/test', function(err, db) {
    if (err) {
        throw err;
    } else {
        console.log("successfully connected to the database");
    }
    db.close();
});

在此處輸入圖片說明

確保從終端或命令提示符啟動mongo服務器。

請按照以下步驟啟動服務器:

  1. 如果未安裝mongodb,請從https://www.mongodb.com/download-center#community安裝。

  2. 您必須在c文件夾中創建一個新目錄,名稱為data,內部數據再創建一個名為db的目錄。 這些文件夾是您的mongodb保存數據所必需的。

  3. 現在打開終端或命令提示符,在位於mongodb文件夾中的bin文件夾中導航,然后輸入mongod。 這將啟動您的服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM