Я не думаю, что делаю что-то должным образом с помощью graphQL, но я не уверен, как этого добиться с помощью graphQL.
У меня есть следующая схема, которая затем загружается в FaunaDB, и они делают магию, чтобы превратить ее в пригодную для использования конечную точку api graphQL.
type Catalog {
decor: Boolean
clothing: Boolean
supplies: Boolean
furniture: Boolean
owner: User
}
type Decor {
description: String
pieces: Int
purchaser: String
alterations: Boolean
cost: Int
purchaseDate: Date
category: String
image: String
itemNum: Int
owner: User!
visible: Boolean
}
type DecorSheet {
sheetName: String
refIdArray: String
owner: User!
}
type User {
email: String! @unique
catalog: Catalog
decor: [Decor!] @relation
decorSheet: [DecorSheet!] @relation
}
type Query {
getMultipleDecors(DecorId: [ID!]): [Decor]
@resolver(name: "get_multiple_decors")
}
Мне нужно создать тип DecorSheet, мне нужен refIdArray, чтобы он был массивом таких объектов
[
{
"refId0": "293164663883956749"
},
{
"refId1": "293526016787218952"
}
]
У меня есть следующая мутация gql для запуска apollo
const CREATE_DECOR_SHEET = gql`
mutation CreateDecorSheet(
$ownerID: ID!
# $description: String!
$sheetName: String
$refIdArray: String!
) {
createDecorSheet(data: { sheetName: $sheetName, refIdArray: $refIdArray, owner: { connect: $ownerID } }) {
refIdArray
sheetName
_id
}
}
`;
и я звоню сюда
const res = await createDecorSheet({
variables: {
ownerID: user.id,
// ...dataMassage,
sheetName: dataForm.sheetName,
refIdArray: JSON.stringify(chosenValues), //A WAY TO DO THIS GRAPHQL STYLE
},
}).catch(console.error);
Смотрите, в настоящее время я привязываю selectedValues к тем же значениям, которые я перечислил выше для объектов refId и Id в массиве.
Есть ли лучший способ сделать это, нужно ли мне написать настраиваемую мутацию, чтобы вы могли передать массив объектов в refIdArray.
Если бы кто-нибудь мог помочь с этим, это было бы здорово.
Спасибо
Variable '$refIdArray' expected value of type 'String!' but got: ["293164663883956749","293526016787218952"]
Нужно ли менять схему наrefIdArray: [id]
- person Anders Kitson   schedule 26.03.2021