代码之家  ›  专栏  ›  技术社区  ›  Evanss

用Prisma覆盖整个关系域?

  •  1
  • Evanss  · 技术社区  · 5 年前

    使用Prisma是否可以完全覆盖关系,而不是连接和断开单个节点?

    假设我有一个与组1和2有组关系的用户:

    user: {
        id: "abcd"
        groups: [
            {id: 1},
            {id: 2}
        ]
    }
    

    user: {
        id: "abcd"
        groups: [
            {id: 3}
        ]
    }
    

    我必须这样做吗

    mutation {
      updateUser(
        where: { id: "abcd" }
        data: {
            groups: {
                disconnect: {
                    id: "1"
                    id: "2"
                }
                connect: {
                    id: "3"
                }
            }
        }
      ) {
        id
      }
    }
    

    或者有什么方法可以覆盖整个关系:

    mutation {
      updateUser(
        where: { id: "abcd" }
        data: {
            groups: [{id:3}]
        }
      ) {
        id
        name
      }
    }
    
    1 回复  |  直到 5 年前
        1
  •  0
  •   nburk    5 年前

    我相信你要找的是一个类似于 scalar lists

    mutation {
      createUser(data: {
        scores: { set: [1, 2, 3] }
        friends: { set: ["Sarah", "Jane"] }
        throws: { set: [false, false] }
      }) {
        id
      }
    }
    

    Prisma目前无法做到这一点,但已经有了 open feature request 对于该功能,如果您对该功能感兴趣,请留下您的。

    推荐文章