You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Storyblok中filter_query多条件筛选逻辑异常问题咨询

解决Storyblok API筛选条件逻辑不符的问题

你遇到的问题主要出在两个地方:

  • 区域筛选的条件写错了,原本包含了Blue Waters,直接导致该区域项目被纳入结果;
  • 未明确指定多条件间的AND逻辑,导致API解析出现歧义,甚至参数顺序影响结果。

修正后的代码

const storyblokApi = useStoryblokApi()
const { data: realty, pending } = await useAsyncData<Realty>(
    async () => await storyblokApi.get('cdn/stories', {
        version: "published",
        content_type: "project",
        per_page: 6,
        filter_query: {
            _and: [
                {
                    price: {
                        "gt-int": 0,
                        "lt-int": 1300001,
                    }
                },
                {
                    area: { eq: "Dubai Marina" } // 仅匹配Dubai Marina区域
                },
                {
                    market: { eq: "primary" } // 仅匹配primary市场
                }
            ]
        }
    })
)

关键调整说明

  1. 修正区域筛选:把area的in_array改成eq并只保留Dubai Marina,直接排除Blue Waters的项目,符合你不需要该区域的需求。
  2. 明确AND逻辑:用_and操作符包裹所有条件,强制API同时满足价格范围、区域、市场三个筛选条件,彻底解决参数顺序影响结果的问题。
  3. 简化市场筛选:单值匹配用eq比in_array更直观,效果完全一致。

内容的提问来源于stack exchange,提问作者mart cube

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:07:33