2014-01-30 2 views
0

Использование прямого промежуточного программного обеспечения для получения информации о пользователе от mongodb на странице запроса.express middleware mongodb исполнение не работает

Попробуйте установить userInfo в запросе, но я не получаю запрос userinfo, пожалуйста, проверьте приведенный ниже код и предложите мне.

app.js

app.use(userManager.userManager); 

userManager.js

"use strict"; 

var USERModel = require("./user_schema"); 

module.exports.userManager = function(req, res, next) { 

     var assoString = "US"; 
     var options = { 
      limit: 1 
     }; 
     USERModel.textSearch(assoString, options, function (err, output) { 

      if (err) { 
       console.error("USERModel.textSearch:" ,err); 
      } 
      else if (output && output.results && output.results.length > 0) { 

       req.userInfo = output.results[0].obj.userDetail; 

      } 
      else { 
       console.warn("Empty USERModel for ", assoString); 

      } 
    }); 
}; 

user_schema.js

"use strict"; 

var db = require('../lib/db_connect'); 
var textSearch = require("mongoose-text-search"); 

var userSchema = new db.Schema({ 
    associatedwith : String, 
    userDetail: { 
       userId  : {type: String}, 
       cId  : {type: String}, 
       device   : {type: String}, 
       contentType  : {type: String}, 
       isCompression : {type: Boolean}, 
       renderType  : {type: String} 

      } 

    } 
); 

userSchema.plugin(textSearch); 


var USERModel = module.exports = db.mongoose.model('users', userSchema); 

ответ

0

Вы должны ответить или запрос HTTP (с res.send, res.json, res.end и семьи) или вызвать обратный вызов для передачи запроса на e следующее промежуточное программное обеспечение или обработчик маршрута:

app.use(function(req,res,next){ 
    // Rest of the logic 
    res.send(200,'Everything went OK'); // The request is replied here 
}); 

app.use(function(req,res,next){ 
    // Rest of the logic 
    next(); // To the next middleware/route logic 
}); 
Смежные вопросы