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

Apollo GraphQL查询无用户浏览产品失效及空字段问题

查询无用户浏览记录的产品

问题背景

需要获取所有未被任何用户浏览过的产品,原查询语句未生效。数据模型如下:

model Products {
  id    string
  views Views[]
}

model Views {
  id        string
  createdAt DateTime
  user      User
}

model User {
  id    string
  email string
}

原查询问题

原查询使用views: { is: empty }不符合多数GraphQL后端(如Prisma生成的API)的关联字段过滤语法,导致无法正确筛选出无浏览记录的产品:

query {
    Products(where: { views: { is: empty }}) {
      id
      views
    }
}

正确查询方案

如果你的GraphQL API是基于Prisma构建的,应该使用none操作符来筛选没有关联Views记录的产品:

query {
  Products(where: { views: { none: {} } }) {
    id
    views
  }
}

说明

  • none: {}表示筛选不存在任何关联Views记录的Products条目,正好匹配“未被任何用户浏览过”的需求。
  • 如果使用其他GraphQL后端框架,语法可能略有差异,但核心逻辑都是筛选关联字段为空数组的记录,可对应调整过滤条件(比如部分框架支持views: { count: 0 })。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:20:35