【问题标题】:when i start my node.js server it get start but gave some error当我启动我的 node.js 服务器时,它启动但给出了一些错误
【发布时间】:2018-12-09 23:25:20
【问题描述】:
    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 预计mongodbmongodb+srv 在 module.exports (/home/tentron/Desktop/web-development-tutorial/ nodejs/projects /node_prject1/node_modules/mongoose/node_modules/mongo db/lib/url_parser.js:21:21) 在连接(/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/projects /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 里亚尔/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) 在新的承诺 () 在 NativeConnection.Connection.openUri (/home/tentron/Desktop/web- 开发教程/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 (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 块的离子,或者通过拒绝不是 han 的承诺 使用 .catch() 加载。 (拒绝编号:2) (节点:8456)[DEP0018] DeprecationWarning:未处理的承诺拒绝 已弃用。将来,未处理的承诺拒绝 d 将使用非零退出代码终止 Node.js 进程。

【问题讨论】:

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


    【解决方案1】:

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

    应该是这样的,

     mongodb://localhost:27017/nodekb
    

    【讨论】:

    • 但是我使用的是 linux mint 所以我使用 /home/tentron/mongodb/LocalHost/nodekb 你能告诉我应该写什么
    • 应该和linux一样
    • 尝试使用 robomongo 进行连接
    • 谢谢兄弟“ mongodb://localhost:27017/nodekb” 它工作。其实我不知道它在linux中是一样的所以thaku
    猜你喜欢
    • 1970-01-01
    • 2020-11-13
    • 2011-07-30
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 2023-02-09
    • 2019-09-22
    相关资源
    最近更新 更多