Loopback data-juggler或任何其他环回组件中是否有远程方法可以让我记录数据源执行的查询。
例如:如果我使用MySQL连接器,那么当调用MODEL_NAME.findById()时,我应该能够获得
来自DATABASE_NAME.MODEL_TABLE的SELECT *,其中id = WHATEVER_ID
对于MongoDB,它应该返回等效的mongo查询 如果我能够在这里记录mongo的query.explain(),那就太棒了
我尝试以DEBUG = loopback:connector:* node运行我的应用。正如https://groups.google.com/forum/#!topic/loopbackjs/rpii8R8iUkw
所建议的那样这有帮助,但我无法理解查询是否使用了mongo索引。
有没有更好的替代方案,我可以从数据源获得响应并根据我的要求进行调整? (就像只显示索引是否被使用)
答案 0 :(得分:-2)
关于查询执行命令,也许你可以看到这个文件Connector hooks
在我的应用程序中,我在执行后使用日志插入和删除方法
return db.observe('after execute', function(ctx, next) {
let sql = ctx.req.sql;
let isInsert = _.startsWith(sql, 'INSERT INTO');
let isDelete = _.startsWith(sql, 'DELETE FROM');
// logic code
return next();
});