Mongoose не может найти мои данные из базы данных, но база данных подключена - PullRequest
0 голосов
/ 04 октября 2018

Показано «База данных подключена», я думаю, что база данных уже подключена к серверу 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 голосов
/ 04 октября 2018

Проблема в том, что вы подключаете базу данных по вызову 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
     });
   })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...