asList("$modifiedon",1000)
asList("$modifiedon","$createdon")
. होना चाहिए आपके द्वारा प्रदान की गई कार्य पाइपलाइन के अनुसार।
जैसा कि आपने संपादन किया है। देख सकते हैं कि समस्या यह है कि आप "if" के बजाय "$gt" दस्तावेज़ में "then" और "else" को जोड़ रहे हैं।
तो इसके बजाय:
AggregateIterable<Document> iterable = collection.aggregate(
asList( new Document("$redact",
new Document("$cond",
new Document("if",
new Document("$gt",
asList(new Document("$subtract",
asList("$modifiedon", "$createdon")
),1000 * 60 * 60 * 24)
).append("then", "$$KEEP")
.append("else", "$$PRUNE")
)
)
)
));
आपको करना चाहिए:
AggregateIterable<Document> iterable = collection.aggregate(
asList( new Document("$redact",
new Document("$cond",
new Document("if",
new Document("$gt",
asList(new Document("$subtract",
asList("$modifiedon", "$createdon")
),1000 * 60 * 60 * 24)
)
).append("then", "$$KEEP")
.append("else", "$$PRUNE")
)
)
));