我尝试将Horizon应用程序与外部托管的RethinkDB放在一起,我似乎无法使用现有工具。我了解Horizon包含服务器端API组件,这可能就是原因。
我希望能够从外部服务器直接插入和/或更新RethinkDB中的文档,并将这些更新推送到订阅的浏览器。这可能和/或明智吗?
最好这根本不涉及我的Horizon Express服务器。我宁愿不必公开我自己的API来做这件事。
答案 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)
然后,当您启动Horizon时,您将确保使用--connect
标志并提供该RethinkDB实例的主机名和端口。
例如,如果RethinkDB与Horizon在同一台计算机上运行:
hz serve --connect localhost:28015
在Horizon中,您可以在浏览器中收听这些消息:
const horizon = Horizon();
horizon('things').subscribe((result) => {
// `result` is the entire collection as an array
console.log("result!", result);
});
如果您需要进一步的帮助,请随时发送推文@dalanmiller或在discuss.horizon.io中创建新主题!