猫鼬无法从数据库中找到我的数据,但数据库已连接

时间:2018-10-04 00:59:59

标签: node.js mongodb express mongoose

它显示“ Database connected”,我认为数据库已经连接到mongodb服务器。但是,没有任何内容可以作为控制台日志。此处的数据为空,我的页面上没有任何内容。

这是我的代码。

index.js

var userModel = require('../models/userModel.js');

router.get('/', function (req, res, next) {

    mongoose.connect('mongodb://localhost:27017/db', { useNewUrlParser: true }, function (err) {

        if (err) console.log("connect fail");

        console.log("Database connected");

    });

})

userModel.find({}, function (err, data) {
    if (err) {
        return console.log(err)
    }

    console.log(data);

    res.render('index', {
        title: 'Account', user: data, loginStatus: isLogin
    });
})      

models / userModel.js

var mongoose = require('mongoose');

var Schema = mongoose.Schema;

mongoose.Promise = global.Promise;

var userSchema = new mongoose.Schema({
    name: String,

    account: String,

    password: String,

    email: String

 });

 var model = mongoose.model('user', userSchema);


module.exports = model;

1 个答案:

答案 0 :(得分:1)

这里的问题是您在api调用上连接数据库,这种情况永远不会发生。您应该始终在开始时进行操作,并在端点处调用集合。现在,每当调用“ /”时,请检查服务器控制台。

var userModel = require('../models/userModel.js');
mongoose.connect('mongodb://localhost:27017/db', { useNewUrlParser: true }, function (err) {
    if (err) console.log("connect fail");
    console.log("Database connected");
});
router.get('/', function (req, res, next) {
   userModel.find({}, function (err, data) {
     if (err) {
        return console.log(err)
     }
     console.log(data);

     res.render('index', {
        title: 'Account', user: data, loginStatus: isLogin
     });
   })
})