इसे आजमाएं:
String jsonExpression = "{\"$subtract\":[new ISODate(),\"$ping_date\"]}";
AggregationOperation project = Aggregation.project().and(context -> context.getMappedObject(Document.parse(jsonExpression))).as("difference");
AggregationOperation match = Aggregation.match(Criteria.where("difference").gte("timeout"));
List<AggregationOperation> aggOps = new ArrayList<>();
aggOps.add(project);
aggOps.add(match);
Aggregation aggregation = Aggregation.newAggregation(aggOps);
return mongoTemplate.aggregate(aggregation, RegisteredApp.class, RegisteredApp.class).getMappedResults();
मूल रूप से, आप इसका उपयोग करके अपनी जावास्क्रिप्ट/JSON क्वेरी को स्प्रिंग मोंगो टेम्प्लेट फॉर्म में बदल सकते हैं। आप org.springframework.data.mongodb.core.aggregation पैकेज में ArithmeticOperators.Subtract को भी देख सकते हैं।
मैंने इस कोड को थोड़ा वर्बोज़ लिखा है, आप सूची और अन्य सभी सामग्री बनाए बिना भी ऐसा ही कर सकते हैं, जैसा कि आपने प्रश्न में किया था।