如何在RethinkDb中使用getNearest函数?

我有一个有关rethinkdb的问题。 我正在查询获得最近的位置周围的一个特定的点和它的罚款,但问题是,要先筛选结果,然后应用getNearest但getNearest与表可以任何人指导我在这里

这里是代码,它工作正常。 但我想先过滤的结果,然后使用GetNearest位置。

var point = r.point(73.07328600000005,33.633473); r.db('DB').table('infoCenter').getNearest(point, {index: 'location', unit: 'km', maxDist:1, maxResults: 2000} ) .filter(function(kk) { return kk('doc')('Deleted').default(false).eq(false) }) 

上面的代码工作正常但是我想要做的是先筛选结果,然后使用getNearest方法。 而getNearest方法只能和table一起工作。

提前致谢

       

网上收集的解决方案 "如何在RethinkDb中使用getNearest函数?"

filter之后无法执行诸如getNearest类的索引操作。

你可以改用一个没有索引的orderBydistance ,例如:

 .orderBy(ic => ic('location').distance(point)) 

或者,如果你想保持unitmaxDistmaxResults ,如下所示:

 .merge(ic => {distance: ic('location').distance(point, {unit: 'km'})}) .filter(ic => ic('distance').lt(1)) .orderBy('distance') .limit(2000)