gpt4 book ai didi

ruby-on-rails - Searchkick `all` 用于带有 OR 的多个数组

转载 作者:行者123 更新时间:2023-12-02 22:48:20 25 4
gpt4 key购买 nike

我需要使用 searchkick 构建一个 bool 查询,它将检查多个数组,如果数组的所有元素都存在,则条件必须为真。

我想要包含 ["2019-11-05", "2019-11-06", "2019-11-07"] 来自一个数组的所有日期的记录 OR 来自第二个数组 ["2019-11-08", "2019-11-09", "2019-11-10"]

它非常适合像这样的一个数组。

available_on: { all: ["2019-11-05", "2019-11-06", "2019-11-07"] }

我需要这样的东西

available_on: { or: { all: ["2019-11-05", "2019-11-06", "2019-11-07"] , all: ["2019-11-08", "2019-11-09", "2019-11-10"]} }

how can we create a query available_on = A OR B

  1. A,B是数组,需要匹配数组的所有元素
  2. available_on 是目标词(也是索引中的数组)

最佳答案

你应该像这样使用 whereor 过滤器:

where {or: [[{available_on: {all: ["2019-11-05", "2019-11-06", "2019-11-07"]}},
{available_on: {all: ["2019-11-08", "2019-11-09", "2019-11-10"]}}]]}

或使用_or过滤器:

where {_or: [{available_on: {all: ["2019-11-05", "2019-11-06", "2019-11-07"]}},
available_on: {all: ["2019-11-08", "2019-11-09", "2019-11-10"]}]}

_oror结果没有区别,只是语法上有一点不同(or多用一对方括号)

关于ruby-on-rails - Searchkick `all` 用于带有 OR 的多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53221303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com