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