如何使用graphql.js将模式的字段声明为对象/映射?

时间:2019-06-04 16:30:38

标签: node.js graphql graphql-js

我正在努力寻找一种将字段声明为纯对象或Map的方法。在某些情况下,我的字段不过是没有清晰结构的对象而已。您如何解决?

看看下面的例子:

exports.UserType = new GraphQLObjectType({
  name: 'User',
  fields: () => ({
    id           : { type : new GraphQLNonNull(GraphQLString) },
    name         : { type : exports.ClientStatusType },
    preferences  : { type : Object?! },
  }),
});

在这里,首选项字段是一个Map,因为应用程序中有不同的区域可以为用户设置不同类型的首选项,因此为该字段编写定义良好的架构实际上会减慢新首选项的实现。 / p>

我还希望能够在查询首选项字段时获得整个Map / Object,而无需提及特定的子字段。 例如。

{
    User(id:...){
        preferences
    }
}

代替

{
    User(id:...){
        preferences {
            language
        }
    }
}

0 个答案:

没有答案