Javascript 快速中间件mongodb执行不工作
使用express中间件在页面请求时从mongodb获取用户信息 尝试在请求中设置userInfo,但我没有在请求中获取userInfo。请检查下面的代码并向我建议 app.jsJavascript 快速中间件mongodb执行不工作,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,使用express中间件在页面请求时从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
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);
您需要或回复http请求(使用
res.send
、res.json
、res.end
和系列)或调用回调将请求传递给下一个中间件或路由处理程序:
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
});