如何通过带有strongloop的REST API执行原始查询和公开结果?
我已经阅读了有关使用hooks
和dataSource.connector.query()
的内容,但我找不到任何有效的例子。
答案 0 :(得分:23)
这是一个基本的例子。如果您有产品型号(/common/models/product.json),请通过添加/common/models/product.js文件来扩展模型:
module.exports = function(Product) {
Product.byCategory = function (category, cb) {
var ds = Product.dataSource;
var sql = "SELECT * FROM products WHERE category=?";
ds.connector.query(sql, category, function (err, products) {
if (err) console.error(err);
cb(err, products);
});
};
Product.remoteMethod(
'byCategory',
{
http: { verb: 'get' },
description: 'Get list of products by category',
accepts: { arg: 'category', type: 'string' },
returns: { arg: 'data', type: ['Product'], root: true }
}
);
};
这将创建以下端点示例:GET / Products / byCategory?group = computers
http://docs.strongloop.com/display/public/LB/Executing+native+SQL
答案 1 :(得分:1)
/common/models/model.js
dataSource.connector.query(sql, cb);