问题标签 [apollo-datasource]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
281 浏览

graphql - 使用 Apollo 服务器作为客户端查询的传递

我有一个用例,我使用apollo-server-express基于 React 的apollo-client. 我有一些查询的外部graphql-datasource。目前,我已配置apollo-datasource-graphql为用作我的apollo-server-express. 但是,这需要在 Apollo 中的解析器以及我的外部graphql系统上的解析器上重复工作。

有没有办法让我通过 Apollo 服务器将客户端中的查询传递到外部graphql数据源?

0 投票
2 回答
657 浏览

graphql - 使用和组合另一个公共 apollo graphql api 的最佳方式:federation v 模式拼接

我正在为带有 apollo graphql 的 Web 客户端开发后端换前端(BFF) 解决方案

用例背景,我们的组织有另一个团队拥有的通用 graphql api,我的团队正在创建另一个 graphql 服务器来使用它。这将使我们能够从客户端卸载繁重的计算。我们还希望有一个组合模式,以便在需要时从与 BFF 相同的端点访问通用 api。

我的问题是:

  1. 建议使用 apollo federation 来组合模式,但是,由于 _entities 字段的强大功能,它强烈建议联合服务器在防火墙后面是私有的。为什么会这样?如果数据不是敏感的用户数据,是否会引起关注?我们希望所有服务器都公开。
  2. apollo 模式拼接实际上可能更适合我们的用例,因为它没有注意任何 api 是私有的。对于我们需要进行的计算,它还可以使 DataSource 逻辑更加精简。但是,我看到的大多数文档都是关于从模式拼接迁移的。模式拼接会在不久的将来被弃用吗?
  3. 是否有另一种选择似乎更适合我错过的账单?
0 投票
1 回答
204 浏览

node.js - 在 MongoDataSource (apollo server) 中使用 String id 而不是 ObjectId

我们有一个使用字符串 ID(没有 12 个字节 || 24 十六进制)的 MongoDB 数据库,这些 ID 是由 MeteorJS 生成的。

我们现在使用 apollo 服务器开发一个 GraphQL 层。

我们想使用 apollo-datasource-mongodb 来加载我们的数据,但是当我们调用 findOnebyId 方法时,我们得到了这个错误:

这是因为模块尝试将我们的字符串 Id 转换为 MongoDB ObjectId,这在我们当前的 Id 格式下是不可能的。

看了apollo-datasource-mongodb repo,好像可以处理字符串Id

来源:https ://github.com/GraphQLGuide/apollo-datasource-mongodb/blob/master/index.d.ts

我们的用户数据源:

启动(上下文层):

调用(模型层):

我们不使用猫鼬和打字稿。

有没有人有想法让它工作?

0 投票
1 回答
81 浏览

node.js - mongodb 节点驱动程序中的函数 incrementTransactionNumber() 有什么作用?

我知道该函数的名称似乎是不言自明的,但是,经过一段时间的研究,我在 clientSession 中的任何地方都找不到事务号。是内部号码吗?有可能得到它吗?

0 投票
1 回答
27 浏览

node.js - 很难理解上下文配置(在数据源中)

在扩展 Apollo Server 时,DataSources我们必须在类中创建一个初始化方法:

然而,当谈到 DataSources 的类扩展和上下文之间的关系时,我无法明确定义一个心智模型。正如 Apollo 的 GitHub 存储库中所见,访问自定义数据源方法的方法是通过解构 dataSource ,像这样:

然而,我们如何将上下文传递给 Apollo Server?我想是这样的:

但是如果是这样, {dataSources}解构在解析器中没有意义,那么数据源和上下文之间究竟是什么关系呢?谢谢 !

0 投票
0 回答
2 浏览

node.js - 如何通过 Apollo Server 中的 apollo-rest-datasource 调用 GraphQL Api

我有一个graphql端点“ https://api.sorare.com/graphql/playground/ ”我想调用这个API端点,调用查询并通过apollo数据源从中制作一个Graphql API,但我不知道如何接近它

数据源