function(values) {
return values.sort(
function(a, b) {
return b['timestamp'] - a['timestamp'];
}
);
}
我当前正在为 Riak MapReduce 查询的缩减阶段执行上述代码,但它未按时间戳键的值正确排序。有什么想法吗?
我正在使用 Riak Python 客户端,这是包含上述归约步骤的完整代码:
query = riak_client.add('bucket')
query.map("function(v) { var data = JSON.parse(v.values[0].data); if (data.item == 'A') { return [[v.key, data]]; } return []; }")
query.reduce("function(values) { return values.sort(function(a, b) { return b['timestamp'] - a['timestamp']; }); }")
for result in query.run():
print result
最佳答案
尝试将返回部分括在方括号中,从而有效地返回结果数组。
function(values) {
return values.sort(
function(a, b) {
return b['timestamp'] - a['timestamp'];
}
);
}
让它看起来像这样:
function(values) {
return [values.sort(
function(a, b) {
return b['timestamp'] - a['timestamp'];
}
)];
}
关于javascript - MapReduce 上的 Riak 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752931/