2015-06-26 38 views
0

我正在做的事情Rethinkdb以下查詢:Rethinkdb查詢不能

r.table('skydata').filter(r.row("DeviceID").eq("JBAnFrdlbkcO").and(r.row("TS").ge(0)).and(r.row("TS").le(143556949))).orderBy("TS") 

當數據瀏覽器在其網站上直接運行它完美並返回我的結果。然而,當我在我的Python程序中進行相同的查詢時,我什麼都沒有。我寫的查詢是:

records = rdb.table('skydata').filter((rdb.row['DeviceID'] == 'JBAnFrdlbkcO') & (rdb.row['TS'] >= '0') & (rdb.row['TS'] <= '143556949')).order_by('TS').run(conn) 

這裏records返回的是空的。我認爲這兩個是相同的。我也試圖發送JS命令直接在服務器:

records = rdb.js("r.table('skydata').filter(r.row('DeviceID').eq(%s).and(r.row('TS').ge(%s)).and(r.row('TS').le(%s))).orderBy('TS')" % (deviceid, time_start, time_end)).run(conn) 

但它說:r is not defined我真的不知道爲什麼會是這個樣子。如果有人能幫忙,我會很感激。謝謝。

+0

在你的第二個查詢中,是否應該引用零?這些數字應該可以是數字文字,除非這些字段實際上包含字符串數字 – deontologician

+0

@deontologician非常感謝!他們應該是%d而不是字符串......它解決了我的問題。 –

回答

0

所以正如討論中提到的那樣,查詢中的數字不應被引用,除非它們是字符串。取消引用數字應該使其工作。