2016-07-03 12 views
1

Ich hoffte, eine Art ‚Zeit tigger‘ RethinkDB changefeeds mit zu erstellen:RethinkDB changefeed jetzt mit `Filterung()`

 return r. 
      Table("Checks"). 
      Filter(r.Row.Field("ScheduledFor").Le(r.Now())). 
      Changes(r.ChangesOpts{ 
        IncludeInitial: true, 
      }).Run(db) 

Doch während es Dinge aufgreift, die zunächst die Filter Prädikat erfüllen, es scheint keine Datensätze aufzunehmen, in denen ScheduledFor von in der Zukunft in die Vergangenheit geht.

, d. H. r.Now() scheint beim Empfang durch den Server ausgewertet zu werden und niemals wieder.

Gibt es eine Möglichkeit, den Now() Begriff dynamisch auszuwerten? Oder sollte ich nur einen Tabellenscan machen?

Antwort

1

Derzeit wird r.now immer zu dem Zeitpunkt ausgewertet, zu dem der Server die Abfrage erhalten hat. Es ist wahrscheinlich am besten, wiederholt einen Tabellenscan für alle Dokumente durchzuführen, die zwischen dem letzten Tabellenscan und der aktuellen Zeit geplant sind.