0

メッセージを挿入する単純なデータベースがあります。squash オプションを指定した change() メソッドを使用して、10 秒ごとに新しいメッセージを取得します。

  r.table('wall_posts').orderBy({
    index: r.asc('date')
  }).limit(100).changes({
    squash: 10
  })...

10 秒ごとに新しいメッセージの新しい配列を取得したいと考えています。このカーソルの出力が無限であることはわかっています。
より多くの要素が利用可能になるまでカーソルがブロックされる瞬間を検出して配列を取得する方法はありますか? (または他の方法)

ありがとう

4

1 に答える 1

0

以下の質問に答えるには:

より多くの要素が利用可能になるまでカーソルがブロックされる瞬間を検出して配列を取得する方法はありますか? (または他の方法)

RethinkDBレベルの外でこれを行うことはできませんか? カーソルに新しいデータがあるときはいつでも、それを他のコールバックにプッシュして配列を作成できます。

しかし、私は思います:

10 秒ごとに新しいメッセージを取得したいと言っている場合、次のようなことを妨げているものは次のとおりです。

setInterval(function() {
    r.table('wall_posts').orderBy({
        index: r.asc('date')
    }).limit(100)
}, 10000)

インデックスの使い方dateから、最新の投稿だけを取得したいという気持ちになります。その場合は、changesここで使用する必要はないと思います。

たとえば、新しいメッセージが表示されるたびに必要な UI があり、新しいメッセージで UI を更新する場合、それchangesが目的です。

于 2015-08-15T21:54:47.310 に答える