0

外部でホストされている RethinkDB を使用して Horizo​​n アプリをまとめようとしましたが、既存のツールで動作させることができなかったようです。Horizo​​n にサーバー側の API コンポーネントが含まれていることは理解していますが、それが理由かもしれません。

RethinkDB のドキュメントを外部サーバーから直接挿入および/または更新し、それらの更新をサブスクライブしているブラウザーにプッシュできるようにしたいと考えています。これは可能かつ/または賢明ですか?

これには、Horizo​​n Express サーバーがまったく関与しないことが望ましいです。これを行うために独自の API を公開する必要はありません。

4

1 に答える 1

0

これは、何らかの方法で RethinkDB にデータをプッシュするサービスが RethinkDB インスタンスを認識できる限り、完全に可能です。次に、選択した言語で標準ドライバー接続を介して 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 にツイートするか、 discussion.horizo​​n.ioで新しいトピックを作成してください。

于 2016-09-08T23:21:00.213 に答える