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

MongoTemplate का उपयोग करके MongoDB में नेस्टेड दस्तावेज़ पर समूह कैसे लागू करें?

स्प्रिंग डेटा MongoTemplate दिए गए एकत्रीकरण के लिए कोड इस प्रकार है।

ध्यान दें कि मैंने एक प्रोजेक्ट जोड़ा है समूह . से पहले का चरण . यह प्रोजेक्ट आवश्यक है; अगर नेस्टेड फ़ील्ड ("details.student._id" और "details.studentStatus.statusCode") सीधे ग्रुप में उपयोग किए जाते हैं चरण में त्रुटियां हैं "FieldPath field names may not contain '.'." और इसका समाधान नहीं किया जा सका (और यह केवल तब होता है जब आप समूह में एक से अधिक फ़ील्ड का उपयोग करते हैं)।

परिणाम आपके द्वारा प्रदान किए गए एकत्रीकरण के समान है। मैंने Java 8 के साथ नवीनतम स्प्रिंग और MongoDB ड्राइवरों का उपयोग किया है।

MongoOperations mongoOps = new MongoTemplate(MongoClients.create(), "spr_test");

Aggregation agg = newAggregation(
                                unwind("details"),    
                                project("_id")
                                    .and("details.student._id").as("sid")
                                    .and("details.studentStatus.statusCode").as("statuscode"),
                                group("sid", "statuscode")
                                    .count().as("total")
);

AggregationResults<Document> aggResults = mongoOps.aggregate(agg, "students", Document.class);
aggResults.forEach(System.out::println);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या होगा यदि नेवले में एकत्रीकरण का उपयोग करते समय मौजूद नहीं होने वाले क्षेत्र में खोलना लागू किया जाता है

  2. mongodb को djongo (Django) से कनेक्ट करें

  3. नेवला में डाले गए नवीनतम उप-दस्तावेज़ की आईडी खोजें

  4. MeteorJS में MongoDB एग्रीगेट और ग्रुपिंग इश्यू

  5. मैं pymongo का उपयोग करके MongoDB से एक संग्रह की प्रतिलिपि कैसे बना सकता हूं और दूसरे खाली संग्रह में पेस्ट कर सकता हूं?