2016-04-28 12 views
0

Ich versuche, nach Dokumenten zu suchen, die älter als 900 Sekunden sind, aber ich stecke fest. Dies ist, was ich bisher versucht:Wie finde ich Dokumente, die in RethinkDB älter oder neuer als X sind?

r.table("bar") 
    .filter(r.expr(r.now() - 900).gt(r.row("updated_at"))) 

und

r.table("bar") 
    .filter(r.row("updated_at") 
    .during(r.time(1970, 1, 1, 'Z'), r.row("updated_at") - 900)) 

beide TypeError: Illegal non-finite number 'NaN'. aus irgendeinem Grund zu werfen. Die folgenden nicht, aber lieferte keine Ergebnisse:

r.table("bar") 
    .filter(900 < r.now() - r.row("updated_at")) 

updated_at ist ein Sekundärindex und hält RqlDateTime Objekte, RDB Version 2.3.0

Antwort

0

ist Sie müssen r.now().sub(900) statt r.now() - 900 schreiben, da JavaScript doesn‘ t erlauben Sie, die binären Operatoren zu überschreiben.

+0

danke! Ursprünglich habe ich die Abfrage von Python übersetzt, damit ich im Datenexplorer damit experimentieren konnte, und diese Transformation war für mich nicht offensichtlich. jetzt funktioniert es! –