RethinkDB / Horizo​​n:与 Express 集成:访问 Horizo​​n 数据服务器端?

RethinkDB / Horizon: Integration with Express: Access Horizon data server-side?

Horizon.io Github 上有一个快速集成示例,如下所示: Horizon express server example

我明白这个例子的意思:如果你有一个现有的 Express 服务器,你可以添加一个 horizo​​n 服务器,它在客户端公开一个路由,这样他们就可以通过 websockets 连接到 horizo​​n 服务器。

但是,有没有办法让服务器的 express 部分也访问 Horizo​​n 中的集合? 例如,做本地身份验证、CRON 作业、或者有 API 个接受 PUT/POST 请求的端点。

据我所知,直接连接到 Horizo​​n 正在使用的 RethinkDB 数据库并没有多大用处,因为名为 Fusion 的库正在表上动态设置元数据,以便获得 Horizo​​n 的类似 Firebase 的行为用于.

如何访问 Horizo​​n 数据服务器端?

要访问 Horizo​​n 的集合,您可以使用 @horizon/client。

npm install --save  @horizon/client

在服务器端代码中:

const Horizon = require("@horizon/client/dist/horizon");
const horizon = Horizon();

然后您可以使用 Horizo​​n API:http://horizon.io/api/horizon/ for things such as connection, Auth, and users; then use the collection API: http://horizon.io/api/collection/ 访问客户端访问的相同集合。

您需要创建 express/koa/hapi 服务器,其中包括 horizon/server 并为自定义 API 端点提供您自己的实现。

在此处阅读更多内容:http://horizon.io/docs/embed/