Skip to content

Commit 0bf5dc9

Browse files
author
Simon Siedler
committed
fix: pagination aggregation should always use the RAW-DAO
1 parent 4f064b9 commit 0bf5dc9

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/main/scala/dev/mongocamp/driver/mongodb/pagination/MongoPaginatedAggregation.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import scala.jdk.CollectionConverters._
1212
case class MongoPaginatedAggregation[A <: Any](
1313
dao: MongoDAO[A],
1414
aggregationPipeline: List[Bson] = List(),
15-
allowDiskUse: Boolean = false
15+
allowDiskUse: Boolean = false,
16+
maxWait: Int = DefaultMaxWait
1617
) extends MongoPagination[Document] {
1718

1819
private val AggregationKeyMetaData = "metadata"
@@ -37,7 +38,7 @@ case class MongoPaginatedAggregation[A <: Any](
3738
Aggregates.facet(new Facet(AggregationKeyMetaData, listOfMetaData.asJava), new Facet(AggregationKeyData, listOfPaging.asJava))
3839
)
3940

40-
val dbResponse = dao.findAggregated(pipeline, allowDiskUse).result().asInstanceOf[Document]
41+
val dbResponse = dao.Raw.findAggregated(pipeline, allowDiskUse).result(maxWait)
4142

4243
val count: Long = dbResponse.get(AggregationKeyMetaData).get.asArray().get(0).asDocument().get(AggregationKeyMetaDataTotal).asNumber().longValue()
4344
val allPages = Math.ceil(count.toDouble / rows).toInt
@@ -52,7 +53,7 @@ case class MongoPaginatedAggregation[A <: Any](
5253
val pipeline = aggregationPipeline ++ List(
5354
Aggregates.facet(new Facet(AggregationKeyMetaData, listOfMetaData.asJava), new Facet(AggregationKeyData, listOfPaging.asJava))
5455
)
55-
val dbResponse = dao.findAggregated(pipeline, allowDiskUse).result().asInstanceOf[Document]
56+
val dbResponse = dao.Raw.findAggregated(pipeline, allowDiskUse).result(maxWait)
5657
val count: Long = dbResponse.get(AggregationKeyMetaData).get.asArray().get(0).asDocument().get(AggregationKeyMetaDataTotal).asNumber().longValue()
5758
count
5859
}

src/test/scala/dev/mongocamp/driver/mongodb/pagination/PaginationFilterSpec.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class PaginationFilterSpec extends PersonSpecification with MongoImplicits {
3434
val pageFemale = paginationFemale.paginate(1, 10)
3535
// #endregion filter-pagination
3636

37-
paginationFemale.countResult mustEqual 11
37+
paginationFemale.countResult mustEqual 98
3838
pageFemale.paginationInfo.pagesCount mustEqual 10
3939
pageFemale.paginationInfo.allCount mustEqual 98
4040
pageFemale.paginationInfo.page mustEqual 1
@@ -46,7 +46,7 @@ class PaginationFilterSpec extends PersonSpecification with MongoImplicits {
4646
val paginationMales = MongoPaginatedFilter(PersonDAO, Map("gender" -> "male"))
4747
val pageMale = paginationMales.paginate(1, 10)
4848

49-
paginationMales.countResult mustEqual 11
49+
paginationMales.countResult mustEqual 102
5050
pageMale.paginationInfo.pagesCount mustEqual 11
5151
pageMale.paginationInfo.allCount mustEqual 102
5252
pageMale.paginationInfo.page mustEqual 1

0 commit comments

Comments
 (0)