#mongodb #graphql #prisma-graphql
#mongodb #graphql #prisma-graphql
Вопрос:
У меня есть тип «Контракт», который включает в себя «Пользователь», который является отношением. Я хочу написать мутацию для включения пользователя.
Я думал, что пользователь просто сохранил идентификатор, поэтому моя мутация выглядела так:
mutation createContract {
createContract(
data: {
contract_no: "999"
user: "5cb0994e24aa9a0008fde672"
contractItems: {
create: [
{
title: "new contract item"
}
]
}
}
) {
id
contract_no
contractItems {
title
}
}
}
Ошибка включает фразу «Причина: ‘user’ Ожидаемый ‘UserCreateOneInput’, найден не объект. «, Я думаю, что это должна быть довольно простая синтаксическая вещь. Кстати, в contractItems есть директива @embedded .
Комментарии:
1. Ищите документы по использованию преобразователей полей в graphql.
2. Обратитесь к этой ссылке: medium.com/paypal-engineering/… Найдите раздел,
Fetching data at a field-level
3. Можете ли вы поделиться кодом для resolver? или вы напрямую вызываете prisma API? Если да, то вам необходимо иметь вложенную мутацию для
user
поля, связывающего контракт с пользователем.
Ответ №1:
Я не установил соединение, даже несмотря на то, что datamodel имеет директиву @relation для пользователя. Строка 5 должна гласить
пользователь: { connect: {id: «5cbae19924aa9a0008fde67c»} }
Спасибо всем за комментарии.