我有一个Cloudant DB,结构如下:
combine()
我需要一个查询来返回金额总和,因此我使用 emit(doc.manager,doc.amount)构建了一个返回
的查询person
它的工作就像一个魅力。但是,我需要经理ID和经理名称。我要找的结果是:
{id: 1, resource:”john doe”, manager: “john smith”, amount: 13}
{id: 2, resource:”mary doe”, manager: “john smith”, amount: 3}
{id: 3, resource:”john smith”, manager: “peter doe”, amount: 10}
我应该如何构建地图视图来搜索父ID?
谢谢, 埃里克
答案 0 :(得分:0)
不幸的是,我认为没有办法在一个查询中完全按照您的意愿行事。假设您的数据库中有以下三个文档:
{
"_id": "2",
"resource": "mary doe",
"manager": "john smith",
"amount": 3
}
-
{
"_id": "3",
"resource": "john smith",
"manager": "peter doe",
"amount": 10
}
-
_sum
最接近你想要的是下面的map函数(使用复合键)和function(doc) {
emit([doc.manager, doc._id], doc.amount);
}
reduce:
reduce=false
使用{"total_rows":3,"offset":0,"rows":[
{"id":"1","key":["john smith","1"],"value":13},
{"id":"2","key":["john smith","2"],"value":3},
{"id":"3","key":["peter doe","3"],"value":10}
]}
:
reduce=true
使用group_level=1
和{"rows":[
{"key":["john smith"],"value":16},
{"key":["peter doe"],"value":10}
]}
,您基本上可以获得与现有结果相同的结果:
reduce=true
如果您改为group=true
和{"rows":[
{"key":["john smith","1"],"value":13},
{"key":["john smith","2"],"value":3},
{"key":["peter doe","3"],"value":10}
]}
(确切分组),那么您会得到以下结果:
manager
对_id
和public class AnimationWithAction extends Actor {
Animation animation = new Animation(5, textures);
}
AnimationWithAction anim = new AnimationWithAction();
anim.addAction(youraction);
字段的每个唯一组合进行求和,但遗憾的是,它并没有为您提供所需的内容。要完成你想要完成的任务,我认为你最好,但是在查询数据库之后总结一下这些值。