asList("$modifiedon",1000)
harus asList("$modifiedon","$createdon")
sesuai dengan alur kerja yang Anda berikan.
Seperti yang telah Anda lakukan pengeditan. Dapat melihat bahwa masalahnya adalah Anda menambahkan "then" dan "else" ke dokumen "$gt" daripada "if".
Jadi, alih-alih:
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")
)
)
)
));
Anda harus melakukan :
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")
)
)
));