有没有办法在GraphQL中表示键值对的对象

ser*_*off 8 javascript key-value key-value-store graphql graphql-js

我在Node.js应用程序中使用GraphQL.我想存储一个对象,该对象使用键作为语言环境短代码和相应语言中字符串的值.(如{ en: "Hello", ru: "??????" }等)

我想在输入中使用GraphQL来表示这一点(就像那样):

mutation {
  addExercise(name: { en: "Hello", ru: "??????" })
}
Run Code Online (Sandbox Code Playgroud)

并在输出(像那样)

{
  exercises {
    _id, name
  }
}
Run Code Online (Sandbox Code Playgroud)

(name应返回键值对的对象:)

[
  {_id: 1, name: { en: "Hello", ru: "??????" }}
]
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

我知道我可以这样存储我的数据

{ name: "en", value: "Hello }`
Run Code Online (Sandbox Code Playgroud)

但前一个似乎更容易.

Hag*_*iCo 6

您可以为 JSON 定义标量类型,然后按原样返回数据。这是一个这样做的示例库(使用它或复制和修改):https : //github.com/taion/graphql-type-json/blob/master/src/index.js

请享用!