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

时间:2016-09-26 08:02:59

标签: javascript key-value graphql key-value-store graphql-js

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

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

mutation {
  addExercise(name: { en: "Hello", ru: "Привет" })
}

和输出(像那样)

{
  exercises {
    _id, name
  }
}

name应该返回一个键值对的对象:)

[
  {_id: 1, name: { en: "Hello", ru: "Привет" }}
]

我该怎么办?

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

{ name: "en", value: "Hello }`

但前一个似乎更容易。

1 个答案:

答案 0 :(得分:4)

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

享受!