Задать вопрос
@IvanRobot

Как настроить middleware express для отправки запросов к БД mongodb?

Создал простой middleware для поиска группы юзера в mongodb. Но сервер выдаёт ошибку 500, даже не начав искать.. Что я делаю не так?

// Dependencies
const express = require('express');
const mongoose = require('mongoose');
const router  = express.Router();

const Group = mongoose.model('Group');

// ------------------------------------------------------------------
// Middleware

let get_group = function (req, res, next) {
  console.log('middleware start');
	Group.findById(req.user.group, function(err, group) {
		console.log('search ready!');
		
		if (group.name == 'member') req.group = 'member';
		if (group.name == 'admin') req.group = 'admin';

		next();
	});
};

// ------------------------------------------------------------------
// Blocks

router.post('/', get_group, function(req, res) {
	console.log('root');
	if (req.group == 'member') {
		return res.render('blocks/collections');
	}

	return res.render('blocks/intro');
});


Логер выдаёт ошибку:
middleware start
POST / 500 3.624 ms - 2
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
yellow79
@yellow79
Senior Software Engineer
мне кажется вы забыли описать содержимое модели mongoose в 6-ой строке

пусть будет хотя бы так
const Group = mongoose.model('Group', {name:String});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы