Подумал, может поможет вообще весь код (так видно весь контекст). На всякий случай, вот он:
/**
* Created by Cronix-23-ZTan on 07.08.2015.
*/
var db = require('monk')('localhost:27017/Wellnine'); //подключились к бд
var users = db.get('users'); // выбрали коллекци
/*//нашли документ
users.find({'login' : 'Velidan'}, function (err, user) {
if (err) throw err;
console.log(user);
});*/
/* Получили данные с поста и отправили дальше */
function* recievePostData(next) {
var requ = this;
var dataObj = {},
userAuthStatus;
if (this.request.url === '/terminal' && this.request.method === 'POST') {
/* stringifyRequest = JSON.stringify(this.request.body, null, 2);*/
dataObj.login = this.request.body.fields.login.trim();
dataObj.pass = this.request.body.fields.password.trim();
}
userAuthStatus = yield userAuth(dataObj);
switch (userAuthStatus) {
case 0 :
console.log('Пользователь не найден');
break;
case 1 :
console.log('Должны рендерить');
yield this.render('terminal/terminal');
break;
case 2 :
console.log('Неверный пароль');
break;
}
}
function userAuth(dataObj) {
return new Promise((resolve, reject) => {
users.find({'login' : dataObj.login}, function (err, user) {
if (err) throw err;
function* anonymousGenerator() {
var authStatus;
if (user.length > 0) {
if (dataObj.pass === user[0].password) {
authStatus = 1
} else {
authStatus = 2;
}
} else {
authStatus = 0;
}
resolve(authStatus);
}
anonymousGenerator().next();
});
});
}
function* terminalIndex(next) {
'use strict';
yield this.render('terminal/login');
}
var routes = [
{method: 'get', name : 'index', url : '/terminal', middleware : terminalIndex},
{method: 'post', name : 'authData', url : '/terminal', middleware : recievePostData}
];
exports.routes = routes;