Couchbase map/reduce 应用较早的组或键选择?

Couchbase map/reduce apply earlier group or key selection?

Document表示应用了reduce/group/group_level,应用了后面的键选择。但是我的测试结果正好相反。

文档

{ "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

我测试错了?

您的测试结果似乎很正确:键选择在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