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 xpectedmongodb
或mongodb+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进程。
答案 0 :(得分:1)
这是因为您使用了格式错误的连接字符串。
应该是这样的
mongodb://localhost:27017/nodekb