Loopbackjs 如何在环回中向现有远程方法添加查询参数

Loopbackjs 如何在环回中向现有远程方法添加查询参数,loopbackjs,strongloop,Loopbackjs,Strongloop,我有两种型号,user&order,一个用户可以有多个订单。因此,我可以使用GET/users/{id}/orders获取属于该用户的所有订单 我想知道如何向HTTP请求添加查询参数。例如GET/users/{id}/orders?terminated=true 数据库中没有名为terminated的字段,我只存储terminatedTime,所以我还需要进行计算 我如何才能做到这一点?您应该尝试使用。如果您有一个名为终止的布尔字段,则以下操作将有效: /users/{id}/orders?fi

我有两种型号,
user
&
order
,一个用户可以有多个订单。因此,我可以使用
GET/users/{id}/orders
获取属于该用户的所有订单

我想知道如何向HTTP请求添加查询参数。例如
GET/users/{id}/orders?terminated=true

数据库中没有名为
terminated
的字段,我只存储
terminatedTime
,所以我还需要进行计算

我如何才能做到这一点?

您应该尝试使用。如果您有一个名为
终止的布尔字段
,则以下操作将有效:
/users/{id}/orders?filter={“where”:{“terminated”:true}

假设terminatedTime是一个日期字段,下面的URL应该为terminatedTime在2016年3月16日之后的用户查找订单

/users/{id}/orders?filter={“where”:{“terminatedTime”:{“gt”:“2016-03-16T00:00:00.000Z”}}


注意:我曾使用StrongLoop API Explorer在示例应用程序上尝试过类似的查询。根据使用位置的不同,双引号可能是必需的,也可能不是必需的。

如果您试图访问模型中的查询字符串,则可以使用双引号

var loopback = require('loopback');

module.exports = function(User) {
var findOne = User.findOne;

User.findOne = function(filter, cb) {
    var context = loopback.getCurrentContext(),
        terminated = context.active.http.req.query.terminated;

        //order processing logic

我不必在db中调用名为
终止的字段。我只有terminatedTime,但比较在我的情况下不起作用,因为我只需要检查它是否有值。这可能会起作用:
/users/{id}/orders?filter={“where”:{“terminatedTime”:{“neq”:null}}