0
我不确定问题的标题是否合适,如果你知道更好的问题,请告诉我;) 我刚刚这样命名,因为我在想如果我能解决我的问题自定义减少功能的问题。Couchbase视图自定义减少
我有两种类型的对象:
车辆:
{
"id": "1G1JC5444R7252367",
"type": "Vehicle"
}
用户:
{
"company": "companyname",
"type": "User",
"parts": [
{
"company": "companyname",
"id": "1G1JC5444R7252367",
"active": true
},
{
"company": "companyname",
"id": "1G1135644R7252367",
"active": false
}
]
}
我要的是一个视图返回我某公司的所有车辆。但该公司只存储在用户对象中。
这是我在mapfunction多远了:
function (doc, meta) {
if(doc.type == 'User'){
if(doc.parts){
Array.prototype.contains = function (needle) {
for (var i in this) {
if (this[i] == needle) return true;
}
return false;
};
var ids = new Array(doc.parts.length);
for(var k in doc.parts){
if(doc.parts[k].active) {
if(!vins.contains(doc.parts[k].id)) {
if (doc.parts[k].company && doc.parts[k].id) {
ids.push(doc.parts[k].id);
emit(doc.parts[k].company, doc.parts[k].id);
}
}
}
}
}
}
}
但这仅返回我公司作为钥匙和车辆作为价值的ID。所以我得到一个用户文件。我可以以某种方式在map函数中再次循环文档,并根据我的ID数组中的ID获取所有车辆?
公司在车上本身也是不希望的,因为公司不是车辆公司本身,而是零件公司。
感谢您的任何帮助。