Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL环回连接器上执行原始查询_Mysql_Node.js_Loopbackjs_Strongloop - Fatal编程技术网

在MySQL环回连接器上执行原始查询

在MySQL环回连接器上执行原始查询,mysql,node.js,loopbackjs,strongloop,Mysql,Node.js,Loopbackjs,Strongloop,如何使用strongloop通过RESTAPI执行原始查询并公开结果 我读过一些关于使用hooks和dataSource.connector.query()的文章,但是我找不到任何有效的例子 在/common/models/model.js中公开远程方法 在远程方法中执行sql查询(通过dataSource.connector.query(sql,cb); 下面是一个基本示例。如果您有一个产品模型(/common/models/Product.json),请通过添加/common/models/

如何使用strongloop通过RESTAPI执行原始查询并公开结果

我读过一些关于使用
hooks
dataSource.connector.query()
的文章,但是我找不到任何有效的例子

  • /common/models/model.js中公开远程方法
  • 在远程方法中执行sql查询(通过
    dataSource.connector.query(sql,cb);

  • 下面是一个基本示例。如果您有一个产品模型(/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


    几乎没有输入错误:
    产品。按组
    应为
    产品。按类别
    “从产品中选择*
    应为
    ”选择*FROM products
    您能提供一个如何在DB中存储模型的示例吗?我的意思是,如何创建一个新的
    产品,然后执行insertand..另一个问题,SQL注入如何?
    此功能尚未经过全面测试,也未得到官方支持:API可能在未来的版本中发生更改。通常,它是tter无法通过连接的模型执行数据库操作。直接执行SQL可能会导致意外的结果、损坏的数据和其他问题。
    为什么文档会这样说?我用完全相同的代码尝试了一个示例,但发现上面的示例有很多问题,对于我的情况,postgresql不接受“?”,它将接受“$1,$2”而不是“?”和参数必须是数组对象,例如var params=[];params.push(st1);params.push(st2);如果你只想在一个新模型上使用一个远程方法怎么办?在这种情况下,我想根据你的建议,你必须禁用所有默认的远程方法,如find、updateAll等,对吗?是的,我相信这是ATM的唯一方法。我认为我们需要简化LoopBack 3,因为我在pa中看到多个请求st以获取禁用所有或仅允许n个远程方法等的功能。请参阅