Перекрыть все поле отношений с Prisma?

Можно ли с Prisma полностью перезаписать отношение, а не подключать и отключать отдельные узлы?

Скажем, у меня есть пользователь с групповым отношением к группам 1 и 2:

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

Если я хочу, чтобы этот пользователь был подключен только к группе 3:

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
  }
}

person Evanss    schedule 10.11.2018    source источник
comment
Вы решили эту проблему? Я столкнулся с той же проблемой   -  person Sheyar    schedule 15.03.2020


Ответы (1)


Я считаю, что вы ищете API, похожий на API скалярные списки:

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

В настоящее время это невозможно с Prisma, но уже существует запрос на открытие функции для этой функции. , оставьте ????, если вы заинтересованы в этой функции.

person nburk    schedule 20.11.2018