在嵌套对象的羽毛js中挂钩之前创建查询

时间:2018-01-10 04:50:15

标签: nested hook rethinkdb feathersjs

如何在钩子之前创建一个查询,它将匹配嵌套对象并返回所需的结果?我在rethinkdb中有以下对象,我想在之前的find钩子中使用类似hook.params.query = {paymentAccounting : {Contact : {Name : 'XYZ'}}}的东西。它似乎适用于一个直接的对象但是嵌套对象呢?如何匹配paymentAccounting>联系人>姓名?

{
"id": "5f45451a-653a-4dc7-b135-25dec3aa25b5",
"paymentAccounting": {
    "Account": {
        "value": "4"
    },
    "Amount": 50,
    "Contact": {
        "ContactID": "68",
        "Name": "XYZ"
    },
    "Invoice": {
        "Date": "2018-01-05",
        "InvoiceID": "230"
    },
    "PaymentID": "237"
 }
}

1 个答案:

答案 0 :(得分:0)

feathers-rethinkdb目前不支持查询嵌套字段,但可以customize the query并在钩子中添加自定义查询参数:

app.service('mesages').hooks({
  before: {
    find(context) {
      const query = this.createQuery(context.params.query);

      const searchString = "my search string";

      hook.params.rethinkdb = query.filter(doc => {
        return doc('paymentAccounting')('Contact')('name').eq('XYZ')
      });
    }
  }
});