使用Prisma查询非空GraphQL

使用Prisma查询非空GraphQL,graphql,apollo,prisma,Graphql,Apollo,Prisma,模式: 我想获取所有TrackUser,其中User不为空。查询结果是什么?这是可行的,但我想这只是一个黑客行为 type TrackUser { id: ID! @unique createdAt: DateTime! user: User #note there is no `!` } type User { id: ID! @unique name: String! @unique } 更新: 对于Prisma2,您可以选择: 对于没有发票的产品,您可以使用以下选项:

模式:


我想获取所有
TrackUser
,其中
User
不为空。查询结果是什么?

这是可行的,但我想这只是一个黑客行为

type TrackUser {
  id: ID! @unique
  createdAt: DateTime!
  user: User #note there is no `!`
}
type User {
  id: ID! @unique
  name: String! @unique
}
更新:

对于Prisma2,您可以选择:

对于没有发票的产品,您可以使用以下选项:

query TrackUsersQuery($orderBy: TrackUserOrderByInput!, $where: TrackUserWhereInput, $first: Int, $skip: Int) {
  trackUsers(where: $where, orderBy: $orderBy, first: $first, skip: $skip) {
    id
    createdAt
    user {
      id
      name
    }
  }
}


variables = {
  where: {
    user: {
      name_contains: ''
    }
  }
}
对于没有关联产品的发票:

const data = await prisma.product.findMany({
    where: {
      invoices: {
        none: {
          id: undefined,
        },
      },
    },
})

此处有更多详细信息:

这可能是一个查询:

const data = await prisma.invoice.findMany({
    where: {
      productId: null,
    },
})
在这里你可以看到它在操场上的样子。我在datamodel中为Trackuser添加了一个名称,以便能够在没有用户的情况下从该端创建它


您没有办法进行筛选(至少您没有向我们展示过),所以这是不可能的。这个问题是针对
prisma
的吗?对,prisma就是这样。感谢编辑问题Alan:)prisma就是这样的。Prisma是为你生成的化学物质在你给我们提供信息之前我们怎么知道的?
query c {
  trackUsers(where: { NOT: [{ user: null }] }) {
    name
  }
}