MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Groupby trong MongoTemplate trả về các trường trống

Tôi đã có kết quả mà tôi nghĩ bạn muốn bằng cách sử dụng như sau:

GroupBy groupBy = GroupBy.key("a", "b", "c")
                         .initialDocument("{ total: 0 }")
                         .reduceFunction("function(obj, result) { " +
                                         "  result.a = obj.a; " +
                                         "  result.b = obj.b; " +
                                         "  result.c = obj.c; " +
                                         "  result.total += obj.total; " +
                                         "}");

Lưu ý rằng những gì bạn cần làm là cho hàm giảm biết những gì cần đưa vào các trường a, b và c cũng như trường tổng.

Điều này đã cho tôi kết quả thô là:

{ "a" : 10.0 , "b" : 20.0 , "c" : 30.0 , "total" : 300.0}

Vì bạn chưa bao gồm lớp Được nhóm nên tôi không chắc liệu điều này có ánh xạ chính xác vào đối tượng mà bạn muốn hay không, nhưng nó có thể chỉ cho bạn đúng hướng.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Tìm các giá trị trường đã cho của tài liệu trong một đối tượng có khóa không xác định

  2. MongoDB - tài liệu lồng nhau của $ dự án ở cấp độ gốc

  3. MongoDB - lập chỉ mục một danh sách nội bộ của các đối tượng

  4. Làm cách nào để thực thi truy vấn gốc MongoDB (JSON) chỉ sử dụng mongo-java-driver?

  5. 8 cách để bắt đầu một ngày trong MongoDB