首页 > 解决方案 > 当我启动我的 node.js 服务器时,它启动但给出了一些错误

问题描述

    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:错误:无效架构,预期mongodbmongodb+srv (/home/tentron/Desktop/web-development-tutor ial/nodejs/projects /node_prject1/index.js:7:10) 在 Module._compile (internal/modules/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 (internal/modules/cjs /loader.js:551:12) 在 Function.Module._load (internal/modules/cjs/loader.js:543:3) 在 Function.Module.runMain (internal/modules/cjs/loader.js:744:10 )(节点:8456)UnhandledPromiseRejectionWarning:未处理的承诺拒绝离子。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝 id:2)(节点:8456)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理 d 的承诺拒绝将使用非零退出代码终止 Node.js 进程。

标签: node.jsmongodbexpressmongoosemongoose-schema

解决方案


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

它应该是这样的,

 mongodb://localhost:27017/nodekb

推荐阅读