【问题标题】:Couchbase map/reduce apply earlier group or key selection?Couchbase 地图/减少应用较早的组或键选择?
【发布时间】:2015-12-28 18:30:55
【问题描述】:

Document 表示应用了reduce/group/group_level,然后应用了key selection。但我的测试结果相反。

文档

{ "k1": 1, "k2": 1 }
{ "k1": 1, "k2": 2 }

地图

emit([doc.k1, doc.k2], null)

减少

_count

测试

query.group_level(1).key(1) = 0         // expected 2
query.group_level(1).key([1,1]) = 1     // expected 0

我的测试错了吗?

【问题讨论】:

    标签: couchbase


    【解决方案1】:

    您的测试结果似乎非常正确:在 reduce 之前应用了键选择。

    query.group_level(1) 表示您要计算视图中的每一行,按第一个键分组。

    如果你执行这个查询,你会得到一个结果: [1] => 2

    如果加上.key(xxx),则表示在reduce之前,要将view的数据集过滤成key为xxx。

    如果 xxx=1,则没有结果,因为视图中没有键为 1 的行。

    如果 xxx=[1,1] 则只有一个结果,因为只有一行的键为 [1,1]

    我在这里开了一张票来更新文档:https://issues.couchbase.com/browse/DOC-1029

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 1970-01-01
      相关资源
      最近更新 更多