2013-07-09 77 views
0

我想创建一个视图结果的map/reduce操作。是否有可能在couchbase中完成?是否可以在couchbase中创建视图的视图?

或者,您如何将HAVING SQL命令转换为couchbase。

举个例子,在beer_sample桶的“by_location”视图中,我想用[count,country]键创建一个视图,这样我可以问哪些国家有1个啤酒厂或者有4个以上的啤酒厂。

+0

我发现这一点:http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-sample-patterns- sortreduce.html so couchbase没有帮助。唯一的解决方案似乎是客户端的一种全面扫描。 – jbaylina

回答

1

随着Couchbase map的减少,计数必须来自reduce函数,因此不能作为索引键的一部分。由于只能查询密钥,因此无法直接通过视图来模拟密钥。

如果您有嵌套文档(即一个国家内的酿酒厂数组),您可以实现您想要的东西。但是,再次,单独的文件,计数必须来自减少。

+0

为每个国家维护冗余文件可能是一个解决方案,但我猜测是否有本地或更优雅的方式。 – jbaylina

0

我在这个问题上想了好几次。因此,我看到一种情况,即视图查询可以输出一些有意义的信息而不具有约简功能,但仍然可以启用相当小的数据子集。这可以被外部进程用作新桶的输入,该外部进程既查询原始视图,又将新密钥设置到具有查看结果的桶中。视图可以建立在这些密钥导出附加视图信息的基础上。或者,也可以创建自定义缩减功能。

一后在这个问题上是在这里:

Couchbase custom reduce function

相关问题