2

问题

我无法更改调用中的默认AND运算符,如directus api 文档中所述:curl

https://docs.directus.io/api/reference.html#filtering

问题

如何启用OR操作员以便根据不同的条件进行过滤,如下面的代码?

代码

return client
      .getItems('privileges', {
        fields: ['*', 'image.filename', 'image.data.full_url', 'attachment.*', 'partner.*.*', 'location.*', 'category.*.*', 'type.icon.data.full_url'],
        meta: ['total_count', 'result_count'],
        sort: 'created_on',

    filter: {
      'location.city': {
        'contains': lowerQ
      },
      // 'location.title': {
      //   'contains': lowerQ
      // },
      category: {
        'eq': category,
      },
      available_from: {
        'lte': 'now'
      },
      available_until: {
        'gte': 'now'
      },
    },
    limit,
    offset,
  }).then(response => {
    dispatch(getPrivilegesSuccess(key, response))
  }).catch(error => {
    console.log(error);
    dispatch(getPrivilegesFail(key, error))
  });

因此,注释掉代码是一个不同的标准,应该能够使用or运算符匹配插入的文本。相反,它目前在 curl 输出 api 调用中使用AND运算符。

将不胜感激任何类型的帮助!

4

1 回答 1

4
filter: {
  field_one: {
    'eq': 'hello'
  },
  field_two: {
    'logical': 'or',
    'eq': 'world'
  },
},

只需添加'logical': 'or'到您想用作“或”的对象

于 2019-09-10T08:53:25.207 回答