これは、取得しようとしているドキュメントの例です。
{
"ref": Ref(Collection("Word"), "270608756095582738"),
"ts": 1594331477980000,
"data": {
"word": "ablatitious",
"letters": [
{
"letter": "a",
"occurrence": 2
},
{
"letter": "b",
"occurrence": 1
},
{
"letter": "l",
"occurrence": 1
},
{
"letter": "t",
"occurrence": 2
},
{
"letter": "i",
"occurrence": 2
},
{
"letter": "o",
"occurrence": 1
},
{
"letter": "u",
"occurrence": 1
},
{
"letter": "s",
"occurrence": 1
}
],
"length": 11
}
}
これが私のスキーマです
type Letter @embedded {
letter: String! @unique
occurrence: Int!
}
type Word {
word: String! @unique
letters: [Letter]!
length: Int!
}
input LetterInput {
letter: String!
occurrence: Int!
}
type Query {
Word(length: Int!): Word
WordByLetters(letters: [LetterInput!]): Word
}
これは、このスキーマでスキーマを更新しようとすると発生するエラーです。
Schema does not pass validation. Violations:
Type mismatch: field 'letters' defined at object 'Word' has type 'Letter'. (line 19, column 17):
WordByLetters(letters: LetterInput): Word
^
LetterInput
タイプをクエリタイプに切り替えると、Letter
このエラーが発生しますWordByLetters
Type 'Letter' is not an input type type. (line 19, column 26):
WordByLetters(letters: Letter): Word
^
したがって、明らかに、入力型を使用する必要がありますが、これは理にかなっています。意味をなさないのは、2 つのエラーのうち最初のエラーです。誰かが理由を説明してもらえますか?