我有一个基于https://www.apollographql.com/docs/graphql-tools/schema-stitching/
假设我有以下模式(注意,它是为一个示例而构建的,以这种方式构造它是没有意义的)
//First schema
type User {
id
cars: [Car]!
}
type Car {
id
name: String
model: String
}
//Second schema
type Color {
id
name: String
rgb: String
opacity: Int
}
//Defined in Apollo Server
extend type Car {
color: Color
}
和下面的解析器
resolvers: {
Car: {
color: {
fragment: '... on Car { id }',
resolve(parent, args, context, info) {
return delegateToSchema({
schema: secondSchema,
operation: 'query',
fieldName: 'colorByUserAndCarId',
args: {
id: parent.id,
userId: ?
},
context,
info,
});
},
},
},
}
我怎样才能获得userId,它在类型User上,而不是Car上?
当我在寻找答案的时候,我想到了一些解决方案,但我不知道如何让它们发挥作用。。
颜色
部分的汽车
,所以我将有每种颜色的字段直接在汽车,所以我想我会有基于用户的解析器,而不是...?的片段,而在类型Car
上,但到目前为止不起作用。
- 通过扩展将userId添加到类型
Car
中,但无论如何我找不到如何获取userId
从根目录更改模式和类型不是一个选项,所有修改都需要在Apollo Server中进行。
写问题和潜在的解决方案帮助我更好地理解它是如何工作的,以及如何实现这一点。
我可以为汽车添加一个解析器,就像我为颜色添加解析器一样,当我进入汽车解析器时,“汽车”的对象值已经存在了...父
值看起来像{id:x,car:{...}}
,id
是userId
,所以我可以在我的汽车解析器中执行此操作
let myCar = parent.car;
myCar.userId = parent.id;
return myCar;
当我在我的颜色解析器中时,我将能够执行parent.userId
。
问题内容: 我想在脚本中定义不同的子解析器,两个子解析器均从同一个父级继承选项,但具有不同的默认值。但是,它没有按预期工作。 这是我所做的: 当我从命令行运行脚本时,得到的是: 显然,第二个覆盖了父对象中的第一个。由于argparse文档中没有任何内容(非常详细),所以我认为这可能是一个错误。 有一些简单的解决方案吗?之后,我可以检查变量,并使用每个子解析器的预期默认值替换值,但这就是我期望arg
所以我想做的是,如果可能的话,做一个像这样的: 所以我正在做的是,让演员(人),然后让他们表演的电影,这很有效。然后我试图让那部电影中的联合演员。我想把当前演员的id传递给联合演员字段,作为这样一个论点: 显然,我遇到了一个错误,不知道这是否可以在内部实现。 这是我喜欢的类型:
但是这不起作用,因为上下文是在所有解析器之间共享的,因此如果我在查询上有多个,上下文值就不好。 我还尝试在嵌套解析器上使用上可用的。我可以转到字段,但这里没有参数... 我还尝试在上添加一些数据,但这些数据不在嵌套解析器上共享。
问题内容: 在Python中,是否可以从Bar本身获取包含另一个对象Bar的对象(例如Foo)?这是我的意思的一个例子 这可能吗?谢谢! 问题答案: 传递对Bar对象的引用,如下所示: 编辑: 正如@thomleo指出的那样,这可能导致垃圾回收问题。建议的解决方案位于http://eli.thegreenplace.net/2009/06/12/safely- using-destructors-
我尝试在一个java swing应用程序的缓存实例附近设置两个Oracle Coherence。这里可以找到解决方案。我的案子有点复杂,这就是游戏开始的地方。 在我的情况下,有一个帐户服务。它可以有两个endpoint:SIT和UAT。为了创建两个这样的服务,我需要加载Coherence的两个“实例”,以便用系统变量(tangosol.Coherence.cacheConfig)覆盖endpoin
我有一个窗口,每个类型有不同的项目和不同的视图。我想从内容控件后面的代码访问窗口(父)中的按钮。 OutputConfigView: OutputRenderReview.xaml.cs: 在本例中,parentWindow为空。 如何从控件后面的代码访问调用窗口的按钮?