当我启动node.js服务器时,它开始启动,但出现了一些错误

时间:2018-07-01 14:32:43

标签: node.js mongodb express mongoose mongoose-schema

    var express = require('express');
var path = require('path');
var mongoose = require('mongoose');
var Article = require('./models/articale');


mongoose.connect('/home/tentron/mongodb/LocalHost/nodekb');
var db = mongoose.connection;

// check for connection 

db.once('open', function(){
  console.log('connected to db.....');
});
//check for db error

db.on('error', function(err){
  console.log(err);
});

//Init app
var app = express();

// load view Engine 

app.set('views', path.join(__dirname, 'views'));
app.set('view engine','pug');

// home route

app.get('/', function(_req , res){
  Article.find({}, function(err,articles){
    if(err){
      console.log(err);
    }
    else{
        res.render('index',{
        title:'shashank home page',
        articles : articles,
      });
    }
  });
});

app.get('/views/add', function(req , res){
  res.render('add_artical', {
    title : 'add artical'
  });
});


//start server 
app.listen(3000,function(){
  console.log("your server is now ready at port number 3000...");

});

启动服务器时出现错误

  

[nodemon]由于更改而重新启动...           [nodemon]开始node index.js           服务器已准备就绪,端口号为3000 ...           (节点:8456)UnhandledPromiseRejectionWarning:错误:无效的架构,e           xpected mongodbmongodb+srv               在module.exports(/ home / tentron / Desktop / web-development-tutorial /           nodejs /项目/ node_prject1 / node_modules / mongoose / node_modules / mongo           db / lib / url_parser.js:21:21)               在connect(/ home / tentron / Desktop / web-development-tutorial / nodejs /           项目/ node_prject1 / node_modules / mongoose / node_modules / mongodb / lib /           mongo_client.js:880:3)               在connectOp(/ home / tentron / Desktop / web-development-tutorial / nodej           s /项目/ node_prject1 / node_modules / mongoose / node_modules / mongodb / li           b / mongo_client.js:270:3)               在executeOperation(/ home / tentron / Desktop / web-development-tutoria           l / nodejs / projects / node_prject1 / node_modules / mongoose / node_modules / mon           godb / lib / utils.js:420:24)               在MongoClient.connect(/ home / tentron / Desktop / web-development-tuto           rial / nodejs / projects / node_prject1 / node_modules / mongoose / node_modules /           mongodb / lib / mongo_client.js:261:10)               在Promise(/ home / tentron / Desktop / web-development-tutorial / nodejs /           项目/node_prject1/node_modules/mongoose/lib/connection.js:436:12)               在新的Promise()               在NativeConnection.Connection.openUri(/ home / tentron / Desktop / web-           development-tutorial / nodejs / projects / node_prject1 / node_modules / mongoo           se / lib / connection.js:433:19)               在Mongoose.connect(/ home / tentron / Desktop / web-development-tutoria           l / nodejs / projects /node_prject1/node_modules/mongoose/lib/index.js:212           :15)               在对象。 (/ home / tentron / Desktop / web-development-tutor           ial / nodejs / projects /node_prject1/index.js:7:10)               在Module._compile(内部/模块/cjs/loader.js:702:30)               在Object.Module._extensions..js(internal / modules / cjs / loader.js:7           13:10)               在Module.load(internal / modules / cjs / loader.js:612:32)               在tryModuleLoad(内部/模块/cjs/loader.js:551:12)               在Function.Module._load(内部/模块/cjs/loader.js:543:3)               在Function.Module.runMain(内部/模块/cjs/loader.js:744:10)           (节点:8456)UnhandledPromiseRejectionWarning:未处理的诺言拒绝           离子。该错误是由抛出异步函数内部引起的           没有阻碍的离子,或拒绝不是韩的承诺           .catch() (拒绝ID:2)           (节点:8456)[DEP0018] DeprecationWarning:未处理的承诺拒绝            不推荐使用。将来,无法解决的承诺拒绝           d将使用非零退出代码终止Node.js进程。

1 个答案:

答案 0 :(得分:1)

这是因为您使用了格式错误的连接字符串。

应该是这样的

 mongodb://localhost:27017/nodekb