通过中间件执行查询
executing query via middleware
在使用 strongloop 环回时,我想在每个请求中检查数据库中是否存在 accesstoken 和用户名。
所以我正在制作一个中间件代码:
module.exports = function() {
return function xAuth(req, res, next) {
console.log(req);
};
};
我已将它添加到 :initial" 中间件 json
"initial": {
"compression": {},
"cors": {
"params": {
"origin": true,
"credentials": true,
"maxAge": 86400
}
},
"./middleware/trumptAuth": {},
"helmet#xssFilter": {},
"helmet#frameguard": {
"params": [
"deny"
]
},
"helmet#hsts": {
"params": {
"maxAge": 0,
"includeSubdomains": true
}
},
"helmet#hidePoweredBy": {},
"helmet#ieNoOpen": {},
"helmet#noSniff": {},
"helmet#noCache": {
"enabled": false
}
}
我想在这里执行一个 sql 查询,但我不知道我该怎么做,我可能只需要 "app" 变量访问或直接 "dataSource" 访问。
感谢任何帮助。
从文档 "Using variables in middleware" (https://docs.strongloop.com/display/LB/Defining+middleware#Definingmiddleware-Usingvariablesinvalues) 看来,您可以使用以下语法传递应用程序对象的任何部分:${var}
。数据源 属性 存在于核心应用程序对象下,因此您应该能够以这种方式传递它。
要从中间件访问 "app" 变量,请使用
app.use(function(req, res, next) {
var app = req.app;
...
});
要从中间件访问 "dataSource" 变量,请使用
app.use(function(req, res, next) {
var dataSource = app.datasources.db;
...
});
要从中间件访问特定模型,请使用
app.use(function(req, res, next) {
var app = req.app;
var modelName = app.model.modelName;
...
});
更多methods/sources使用此文档link
https://docs.strongloop.com/display/public/LB/Working+with+LoopBack+objects
在使用 strongloop 环回时,我想在每个请求中检查数据库中是否存在 accesstoken 和用户名。
所以我正在制作一个中间件代码:
module.exports = function() {
return function xAuth(req, res, next) {
console.log(req);
};
};
我已将它添加到 :initial" 中间件 json
"initial": {
"compression": {},
"cors": {
"params": {
"origin": true,
"credentials": true,
"maxAge": 86400
}
},
"./middleware/trumptAuth": {},
"helmet#xssFilter": {},
"helmet#frameguard": {
"params": [
"deny"
]
},
"helmet#hsts": {
"params": {
"maxAge": 0,
"includeSubdomains": true
}
},
"helmet#hidePoweredBy": {},
"helmet#ieNoOpen": {},
"helmet#noSniff": {},
"helmet#noCache": {
"enabled": false
}
}
我想在这里执行一个 sql 查询,但我不知道我该怎么做,我可能只需要 "app" 变量访问或直接 "dataSource" 访问。
感谢任何帮助。
从文档 "Using variables in middleware" (https://docs.strongloop.com/display/LB/Defining+middleware#Definingmiddleware-Usingvariablesinvalues) 看来,您可以使用以下语法传递应用程序对象的任何部分:${var}
。数据源 属性 存在于核心应用程序对象下,因此您应该能够以这种方式传递它。
要从中间件访问 "app" 变量,请使用
app.use(function(req, res, next) {
var app = req.app;
...
});
要从中间件访问 "dataSource" 变量,请使用
app.use(function(req, res, next) {
var dataSource = app.datasources.db;
...
});
要从中间件访问特定模型,请使用
app.use(function(req, res, next) {
var app = req.app;
var modelName = app.model.modelName;
...
});
更多methods/sources使用此文档link https://docs.strongloop.com/display/public/LB/Working+with+LoopBack+objects