आप मूल रूप से खोज रहे हैं extractYear()
जो $year
पर मैप करता है
MongoDB के साथ ऑपरेटर:
Aggregation aggregation = Aggregation.newAggregation(
Aggregation.match(new Criteria().andOperator(criteria())),
Aggregation.project().and("invoiceDate").extractYear().as("_id"),
Aggregation.group("_id"),
Aggregation.sort(Sort.Direction.DESC, "_id)
)
इसे आम तौर पर $project
में जाने की आवश्यकता होती है
मदद करने वालों को खुश करने के लिए।
अगर आप वाकई $group
तब आप एक कस्टम ऑपरेशन एक्सप्रेशन जोड़ सकते हैं:
Aggregation aggregation = Aggregation.newAggregation(
Aggregation.match(new Criteria().andOperator(criteria())),
new AggregationOperation() {
@Override
public Document toDocument(AggregationOperationContext aggregationOperationContext) {
return new Document("$group",
new Document("_id", new Document("$year","$invoiceDate") )
);
}
},
Aggregation.sort(Sort.Direction.DESC, "_id)
)