在rethinkdb中使用带有changefeed的地理空间命令

时间:2015-05-30 18:36:34

标签: geospatial rethinkdb

现在我有一点问题:

我想将地理空间命令(如getIntersecting)与rethinkdb的更改源功能一起使用,但我总是得到:

  

RqlRuntimeError:无法在急剧的流中调用changes:r.db(“Test”)。table(“Message”)。getIntersecting(r.circle([ - 117.220406,32.719464],10,{ unit:'mi'}),{index:'loc'}))。changes()

最大的问题是:我可以将getIntersecting与changes()一起使用(找不到任何与docs btw相关的内容......)或者我是否必须放弃使用rethinkdb地理空间功能的想法而只是使用change()获取所有添加或更改的文档,并在rethinkdb之外执行地理空间的东西?

1 个答案:

答案 0 :(得分:2)

您不能将cbaz一起使用,但您可以通过在 .getIntersecting之后添加.changes 来编写基本相同的查询检查filter是否在圈内。虽然.changes限制了您在loc之前可以写的内容,但您基本上可以在.changes之后编写任何查询,并且它可以正常运行。

.changes

基本上,每次表格发生变化时,更新都会推送到更改源,但会被过滤掉。由于对地理空间和changfeeds没有太多的支持,这或多或少是你需要整合两者的方式。

将来,更改源会更广泛,您最终可以使用.changes编写任何查询。