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

$प्रोजेक्ट MongoDB के अंदर स्प्रिंग डेटा का उपयोग करके $फ़िल्टर करें

मैं स्प्रिंग बूट संस्करण 1.4.1 के साथ अपनी समस्या को हल करने में कामयाब रहा। रिलीज और मैंने यह किया:

Aggregation aggregation = newAggregation(
            match(Criteria.where("devices.evaluationDate").is(date)),
            project().and(new AggregationExpression() {
                @Override
                public DBObject toDbObject(AggregationOperationContext aggregationOperationContext) {
                    DBObject filterExpression = new BasicDBObject();
                    filterExpression.put("input", "$devices");
                    filterExpression.put("as", "device");
                    filterExpression.put("cond", new BasicDBObject("$eq", Arrays.<Object> asList("$$device.evaluationDate", date)));
                    return new BasicDBObject("$filter", filterExpression);
                }
            }).as("devices")
    );

    AggregationResults<SpotMovimientos> list = mongoOperations.aggregate(aggregation,
            MyClass.class, MyClass.class);

मैंने इसके आधार पर विस्तार से बताया:क्या स्प्रिंग डेटा MongoDb $filter array एग्रीगेशन ऑपरेटर का समर्थन करता है?

मेरा प्रोजेक्ट स्प्रिंग बूट 1.4.0 पर था। लेकिन उस संस्करण में AggregationExpression नहीं था इंटरफ़ेस सार्वजनिक, इसलिए मैंने अभी 1.4.1.रिलीज़ में अपडेट किया और मैंने काम किया।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस बनाम मोंगोडीबी:आपको क्या जानना चाहिए

  2. नेवला, वस्तुओं की सरणी में अद्यतन मान

  3. उल्का विधि बनाम नियमों को अस्वीकार/अनुमति दें

  4. मोंगोडब समुच्चय (गिनती) एक साथ कई क्षेत्रों पर

  5. एक CSV फ़ाइल में MongoDB क्वेरी परिणाम कैसे निर्यात करें