在couchbase中任何聚合方法或模板(没有N1QL)用于聚合值? couchbase doc喜欢这种格式
{"Students":[
{
"Student_id": "101",
"Name": "Jon",
"Course" : "Engineer"
},
{
"Student_id": "102",
"Name": "Snow",
"Course" : "Medical"
},
{
"Student_id": "103",
"Name": "Walter",
"Course" : "Chemistry"
},
{
"Student_id": "104",
"Name": "White",
"Course" : "Chemistry"
}]}
提前致谢!!
您可以使用N1QL进行如下操作。
INSERT INTO default VALUES("f001",{"Students":[ { "Student_id": "101", "Name": "Jon", "Course" : "Engineer" }, { "Student_id": "102", "Name": "Snow", "Course" : "Medical" }, { "Student_id": "103", "Name": "Walter", "Course" : "Chemistry" }, { "Student_id": "104", "Name": "White", "Course" : "Chemistry" } ] } );
SELECT (OBJECT v.Course||"Students":v.cnt
FOR v IN ARRAY_APPEND(ds, {"Course":"", "cnt": ARRAY_SUM(ds[*].cnt)})
END).*
LET ds = (SELECT s.Course|| " " AS Course , COUNT(1) AS cnt
FROM default AS d
UNNEST d.Students AS s
GROUP BY s.Course);