【问题标题】:Strapi $AND query filter returns values filtered with $ORStrapi $AND 查询过滤器返回使用 $OR 过滤的值
【发布时间】:2019-08-27 03:52:00
【问题描述】:

我想过滤我的 strapi 集合并获得符合我所有条件的结果,所以是经典的 $AND 过滤。

下面是我的“列表”集合中的文档的示例:

{
  "data": {
    "listings": [
      {
        "name": "Three bedroom Apartment for lease in Sun Ancora Residence",
        "price": 1200,
        "size": 110,
        "rooms": 3,
        "features": [
          "Library"
          "Air Conditioning",
          "Wi-fi",
        ]
      },
      {
        "name": "Lorem ipsum dolor sit amet yadda yadda",
        "price": 1200,
        "size": 110,
        "rooms": 3,
        "features": [
          "Library"
          "Tennis",
          "Playground",
          "Cable TV",
          "Wi-fi",
        ]
      },      
    }
  }
}

所以,如果我发送一个像 http://localhost:1337/listings?features_in=Library&features_in=Tennis 这样的 GET 请求,我希望数组被 $AND 过滤,但它显然是一个 $OR。

预期的结果是只获得示例的第二个文档,而不是获得两个条目。

文档 (https://strapi.io/documentation/3.0.0-beta.x/guides/filters.html#available-operators) 说:

如果您使用相同的运算符(in 和 nin 除外),则这些值将用于构建 OR 查询

这就是我在这里所做的:features_in=Library&features_in=Tennis

任何人都知道如何创建与 $AND 一起使用的过滤器吗?

谢谢一百万!

【问题讨论】:

    标签: axios strapi


    【解决方案1】:

    Strapi 中不存在此功能。您能否检查一下 GitHub 上是否已经存在问题,如果没有,您能否为此需求创建一个功能请求。谢谢。

    这里的解决方法是创建自定义路由/控制器并进行符合您需要的自定义数据库查询。

    这里是创建新端点的文档:https://strapi.io/documentation/3.0.0-beta.x/guides/controllers.html#adding-endpoints

    要访问数据模型,您必须使用strapi.models.article(对于文章模型),并且在此变量中,您将访问本机 Mongoose 或 Bookshelf 函数。因此,您将能够使用 OR 进行查询

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多