nodejs express mongoose connect to db error

nodejs express mongoose connect to db error

本文关键字:db error to connect express mongoose nodejs      更新时间:2023-09-26

我用nodejs express和mongoose来连接mongodb,我在根文件夹中创建了一个配置.js。我正在尝试在数据库中导出数据库连接.js并尝试在管理员控制器中导入.js

但是当我运行服务器并刷新浏览器时,它会记录我一些错误,而不是在终端中记录我的登录。

配置.js

module.exports = {
    cookieScret:'ThreeKingdoms',
    db:'threekingdoms',
    host:'localhost',
    port:27017
}

数据库.js

var mongoose = require('mongoose'),
        config = require('../config'),
        connection = mongoose.connection;

    module.exports = function(mongoose){
        return mongoose.connect('mongodb://'+config.host+'/'+config.db);
    }

管理员控制器.js

var express = require('express'),
        router = express.Router(),
        mongoose = require('mongoose'),
        mainInfo = require('../models/admin'),
        db = require('../models/db');
    router.get('/', function(req, res) {
        res.render('admin', { title: 'hey im here!how are you' });
        db.on('error',console.error.bind(console, 'connection error:'));
        db.once('open', function() {
            console.log(db)
        });
        console.log(db)
    });
    router.post('/',function(req,res,next){
        //console.log(req.body)
        var mainInfo = mongoose.model('mainInfo');
    })
    module.exports = router;

问题文件位于红色框中终端错误

我是nodejs的新手,所以请帮助我,谢谢

首先,您似乎没有安装 Kerberos。请运行 npm install kerberos。此外,该行

Can't set headers after they're sent

建议你在响应已发送回客户端后尝试修改/发送响应,这就是您收到的错误。

终于现在可以

工作了,但是"Kerberos"没关系,是我用错误的方式来导出我的模块.终端仍然记录我"Kerberos未定义",但Web可以工作,我想也许有一天我会尝试解决这个问题。