我正在尝试按按降序创建的日期对 MongoDb 文档进行排序。我正在使用华丽,也在分页。
我已经能够正确地对每个单独页面中的数据进行排序,因为一旦我从集合中检索到数据就会对数据进行排序。但是第一页中的数据是最旧的,而最后一页中的数据是最新的。任何人都知道如何在分页时进行排序。我正在使用 quarkus 和 Java
这是我目前的做法
PanacheQuery<BasicInfo> basicInfoPanacheQuery;
// is used to sort by createdDate
Comparator<BasicInfo> byDateCreated = (c1, c2) -> {
if (c1.getCreatedDate().isAfter(c2.getCreatedDate())) return -1;
else return 1;
};
Bson searchBson = Filters.and(Filters.eq("entity", 2));
Document bsonDocument = bsonToDocument(searchBson.toBsonDocument(BsonDocument.class,
MongoClientSettings.getDefaultCodecRegistry()));
basicInfoPanacheQuery = BasicInfo.find(bsonDocument).page(Page.of(page, PAGE_SIZE));
basicInfoPanacheQuery
.stream()
.sorted(byDateCreated)
.forEach(
x -> {
// manipulate the data
}
);