javascript - Loopback connector hook
问题描述
I want to log all insert sql statements of my model. According to the loopback documentation the connector hook is ideal for this.
model.js
var _ = require('underscore');
module.exports = function(Model) {
//...
var connector = Model.getDataSource().connector;
connector.observe('after execute', function(ctx, next) {
var sql = ctx.req.sql;
var isInsert = _.startsWith(sql, 'INSERT INTO');
next();
});
}
I am getting
getDataSource is not a function
However if I do console.log(Model)
I can see the function.
Idea taken from here
解决方案
Model.getDataSource 不是模型的有效角色。
您可以创建一个启动脚本来完成所需的:
module.exports = function (server) {
var myConnector = server.datasources.MyDataSource.connector;
return myConnector.observe ('after execute', function (ctx, next) {
// ...
});
};
推荐阅读
- data-structures - 以最佳搜索时间存储大数据
- c# - Elasticsearch Nest(c#) 库日期聚合以 UTC 格式返回日期时间,而不是存储的时间
- jmeter-5.0 - 如何从 JMeter 结果日志中仅获取父样本
- python - 使用python在windows中使用os.execv()实现exec系统调用
- r - 将两列合并为R中的重复行
- vb.net - 在 Visual Studio 中更改“Peek 定义”语言
- sql - JOOQ/Oracle listAgg 具有不同的
- swift - 在 MapKit 中链接 MKOverlay 和 MKAnnotation
- python - 不显式执行繁重计算任务的 cythonizing 类的优点
- reactjs - 基于 Linux 的设备的 Node.js 安装间距问题