MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

स्प्रिंग डेटा मोंगो - विशिष्ट प्रदर्शन करें, लेकिन परिणामों में एम्बेडेड दस्तावेज़ों को खींचना नहीं चाहता

एग्रीगेशन को अलग departments.deptCd . मिलता है मान (साथ ही अन्य विवरण):

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

आउटपुट:

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

[संपादित करें जोड़ें]

स्प्रिंग डेटा 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. नोएसक्यूएल के लिए मामलों का प्रयोग करें

  2. उल्का:संग्रह, चर, प्रकाशन और सदस्यता के नामों के बीच अंतर?

  3. सरणी में नेस्टेड दस्तावेज़ में फ़ील्ड के लिए अद्वितीय बाधा कैसे सेट करें?

  4. एकत्रीकरण का उपयोग करके प्रत्येक समूह को mongoDB में सीमित करें और क्रमबद्ध करें

  5. स्कीमा से MongoDB कम्पास में 20 से अधिक नवीनतम दस्तावेज़ देखें