azure OData中的过滤器和集合

0wi1tuuw  于 2023-08-07  发布在  其他
关注(0)|答案(2)|浏览(124)

这与Azure最近推出的搜索服务有关,该服务目前处于预览状态。我想弄清楚如何在集合中使用OData的过滤器。我知道我能做到:

$filter=Products/any(p: p eq 'WidgetA')

字符串
这将通过WidgetA过滤Products集合。我想弄清楚的是如何指定WidgetA或WidgetB。我知道我能做到:

$filter=Products/any(p: p eq 'WidgetA') or Products/any(p: p eq 'WidgetB')


但我认为一定有一种更优雅或更简短的方式来做到这一点。

7cjasjjr

7cjasjjr1#

不幸的是,据我所知没有。满足您要求的操作符为“in”,但方案中没有:http://docs.oasis-open.org/odata/odata/v4.0/os/part2-url-conventions/odata-v4.0-os-part2-url-conventions.html
还有一件事:range变量后面应该有一个属性:

http://host/service/Orders?$filter=Items/any(d:d/Quantity gt 100)

字符串
在您情况下,它应该是“p/Name eq 'WidgetA'”或其他一些属性。

4urapxun

4urapxun2#

OData v4.01支持IN运算符
https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_BuiltinFilterOperations

Address/City in ('Redmond', 'London')

字符串

相关问题