我可以从Horizo​​n应用程序外部访问Horizo​​n RethinkDB实例吗?

时间:2016-08-09 14:02:44

标签: rethinkdb rethinkdb-javascript horizon

我尝试将Horizo​​n应用程序与外部托管的RethinkDB放在一起,我似乎无法使用现有工具。我了解Horizo​​n包含服务器端API组件,这可能就是原因。

我希望能够从外部服务器直接插入和/或更新RethinkDB中的文档,并将这些更新推送到订阅的浏览器。这可能和/或明智吗?

最好这根本不涉及我的Horizo​​n Express服务器。我宁愿不必公开我自己的API来做这件事。

1 个答案:

答案 0 :(得分:0)

只要RethinkDB实例对于以某种方式将数据推送到RethinkDB的服务可见,这是完全可能的。然后,您只需通过标准驱动程序连接with your language of choice连接到RethinkDB。 Python中的简单内容如下所示:

import rethinkdb as r

conn = r.connect('localhost', 28015)
r.db("horizon_project_name").table("things").insert({'text': 'Hello, World!'}).run(conn) 

然后,当您启动Horizo​​n时,您将确保使用--connect标志并提供该RethinkDB实例的主机名和端口。

例如,如果RethinkDB与Horizo​​n在同一台计算机上运行:

hz serve --connect localhost:28015

在Horizo​​n中,您可以在浏览器中收听这些消息:

const horizon = Horizon();
horizon('things').subscribe((result) => {
  // `result` is the entire collection as an array
  console.log("result!", result); 
});

如果您需要进一步的帮助,请随时发送推文@dalanmiller或在discuss.horizon.io中创建新主题!