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

Spring Data Mongo - Thực hiện Khác biệt, nhưng không muốn kéo các tài liệu nhúng vào kết quả

Tập hợp nhận được các departments.deptCd riêng biệt giá trị (cộng với các chi tiết khác):

db.collection.aggregate( [
{
    $group: { _id: "$departments.deptCd", 
             deptName: { $first: "$departments.deptName" },
             status: { $first: "$departments.status" }
    }
},
{
    $project: { deptCd: "$_id", _id: 0, deptName: 1, status: 1 }
}
] )

Đầu ra:

{ "deptName" : "Tax Handling Dept", "status" : "A", "deptCd" : "Tax" }

[CHỈNH SỬA THÊM]

Mã sử ​​dụng Spring Data MongoDB v2.2.7:

MongoOperations mongoOps = new MongoTemplate(MongoClients.create(), "testdb");
Aggregation agg = Aggregation.newAggregation(
    Aggregation.group("departments.deptCd")
        .first("departments.deptName").as("deptName")
        .first("departments.status").as("status"),
    Aggregation.project("deptName", "status")
        .and("_id").as("deptCd")
        .andExclude("_id")
);
AggregationResults<Document> results = mongoOps.aggregate(agg, "collection", Document.class);
results.forEach(System.out::println);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sử dụng ứng dụng Meteor trên iPad đã được triển khai tới máy chủ từ xa với Meteor-up (sự cố kết nối với mongodb)

  2. Truy vấn tổng hợp MongoDB- Đổi tên các trường được trả về từ bên trong tài liệu được nhúng

  3. ValueError:<Quá nhiều giá trị để giải nén>

  4. cụm mongodb với điểm cuối ELB là dns

  5. MongoDB 4.0 JRException:Tùy chọn 'con trỏ' là bắt buộc, ngoại trừ trường hợp tổng hợp với đối số giải thích