【问题标题】:RethinkDB / Horizon: Integration with Express: Access Horizon data server-side?RethinkDB / Horizo​​n:与 Express 集成:访问 Horizo​​n 数据服务器端?
【发布时间】:2016-09-21 00:21:30
【问题描述】:

Horizo​​n.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 数据服务器端?

【问题讨论】:

    标签: node.js rethinkdb horizon


    【解决方案1】:

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

    npm install --save  @horizon/client
    

    在服务器端代码中:

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

    然后您可以使用 Horizo​​n API:http://horizon.io/api/horizon/ 进行连接、身份验证和用户等操作;然后使用集合 API:http://horizon.io/api/collection/ 来访问客户端访问的相同集合。

    【讨论】:

    • 有没有办法创建自定义端点?或者以某种方式与客户共享这些数据?
    • 我试过了,发现它静悄悄地失败了......但看起来下一个版本的客户端将修复它并允许您改为 require('@horizon/client')。在这里做了一些笔记:github.com/joshwnj/knowledge/blob/master/horizon-in-node/…
    【解决方案2】:

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

    在此处阅读更多信息:http://horizon.io/docs/embed/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多