现在我有一点问题:
我想将地理空间命令(如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之外执行地理空间的东西?
答案 0 :(得分:2)
您不能将c
与baz
一起使用,但您可以通过在 .getIntersecting
之后添加.changes
来编写基本相同的查询检查filter
是否在圈内。虽然.changes
限制了您在loc
之前可以写的内容,但您基本上可以在.changes
之后编写任何查询,并且它可以正常运行。
.changes
基本上,每次表格发生变化时,更新都会推送到更改源,但会被过滤掉。由于对地理空间和changfeeds没有太多的支持,这或多或少是你需要整合两者的方式。
将来,更改源会更广泛,您最终可以使用.changes
编写任何查询。