Javascript couchdb约化为矩阵
我有一个couchdb,里面有一系列这样的文档Javascript couchdb约化为矩阵,javascript,couchdb,Javascript,Couchdb,我有一个couchdb,里面有一系列这样的文档 { "foo" :1, "bar" : 2 } { "foo" :3, "bar" : 4 } 我正试图创建一个视图,将其简化为 { "ColumnNames" : ["foo","bar"], "Values" : [[1,3],[2,4]] } { "foo" : [[1],[3]], "bar" : [[2],[4]] } 但我目前的问题是: function (keys, values, re
{
"foo" :1,
"bar" : 2
}
{
"foo" :3,
"bar" : 4
}
我正试图创建一个视图,将其简化为
{
"ColumnNames" : ["foo","bar"],
"Values" : [[1,3],[2,4]]
}
{
"foo" : [[1],[3]],
"bar" : [[2],[4]]
}
但我目前的问题是:
function (keys, values, rereduce) {
var firstPass = {};
for(var i = 0; i < values.length; i++ ){
var v = values[i];
for(var prop in v){
if(v.hasOwnProperty(prop)){
if (!firstPass.hasOwnProperty(prop)) {
firstPass[prop] = [];
}
var ve = v[prop];
firstPass[prop].push(ve);
}
}
}
return firstPass;
}
我也不知道如何在剩下的过程中得到一个好的用例来对数据进行分组,然后在分组后传递给结果对象
const数据=[{
“福”:1,
“酒吧”:2
},
{
“福”:3,
“酒吧”:4
}
];
常数m=新映射()
data.forEach(e=>{
Object.entries(e.forEach)([k,v])=>{
!m.has(k)和&m.set(k,[]);
m、 得到(k),推(v);
});
});
常数res={
ColumnNames:[…m.keys()],
值:[…m.Values()]
}
console.log(res)
。作为控制台包装{最大高度:100%!重要;}
谢谢。我对如何将代码翻译成在couchdb视图中运行的东西有点不知所措。如果不尝试使用较新的查询服务器,则可以将代码包装成与问题中相同的函数,这将不得不进行传输,然后输入转义字符串将非常烦人。。couchapp将完成最后一部分..没有数据收集需要迭代,所以我看不出在函数中包装它能完成什么