【问题标题】:Aggregate the couchbase document Data聚合 couchbase 文档数据
【发布时间】:2019-03-15 04:42:13
【问题描述】:

在 couchbase 中,是否有任何聚合方法或模板(没有 N1QL)用于聚合值?

我的 couchbase 文档遵循以下格式:

{"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"
    }]}

【问题讨论】:

    标签: couchbase


    【解决方案1】:

    您可以按如下方式使用 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 2018-09-15
      • 2019-05-20
      相关资源
      最近更新 更多