2016-08-05 74 views
0

有沒有一種方法可以通過參數的輸入順序在rethinkdb中對getAll查詢的輸出進行排序?rethinkdb getAll:order by args order

我嘗試做以下操作:

r.db('aDatabase').table('aTable').getAll(r.args([3,2,4,1])) 

因爲我加入的順序1,2,3,4項我也讓他們回來的順序。但我想按照查詢中指定的順序(3,2,4,1)來獲取它們。

有沒有辦法使rethinkdb尊重我訂購我的輸入參數的方式,還是必須手動訂購它們?

順便說一句:以上的id只是一個例子,實際上是uuids。

回答

1

你可以寫r.expr([3, 2, 4, 1]).concatMap(function(id) { return TABLE.getAll(id); }),但會稍微慢一些。

+0

這是否比'get'(而不是'getAll')使用'map'更快? – aleclarson

+0

如果你使用'get',那麼你的輸出流中將會有'nil',用於任何不存在的密鑰,你必須在之後過濾出來。 – mlucy