为什么curl http://localhost:5984/blog/_design/comments/_view/total_num?group=true
会返回
{"rows":[
{"key":"sum","value":23},
]}
而不是
{"rows":[
{"sum": 23},
]}
答案 0 :(得分:4)
有几个不同的原因。
正如Tim McNamara指出的那样,在结果行中将键作为成员名称意味着由于JSON规则,键仅限于字符串。这种方式允许人们拥有任何JSON类型的视图键。
正如Alex Koshelev所指出的,如果我们在视图行中允许键作为对象成员名称,那么键和值将无法直接寻址。这意味着您必须调查每一行以确定密钥是什么。
命名空间问题的第二个方面是密钥可能与该行中可能包含的任何元数据冲突。例如,include_docs = true或包含非缩减视图输出的docid成员。
或者,如果您想重新格式化输出以满足您的需要,可以使用_list函数根据自己的喜好更改每一行。
答案 1 :(得分:1)
除了亚历克斯和蒂姆的回应:
答案 2 :(得分:0)
允许将null
个对象作为键。
答案 3 :(得分:0)
每行可以包含其他数据,例如doc
次查询的文档数据(include_docs=true
)。