Having a large data set and executing a filtered query may result in no documents at all when calling .find().exec(). Calling .find().raw().exec() instead properly shows there are more pages.
Since find().exec() just silently returns no records, callers unaware of the paging nature of the underlying scan process by AWS may think there are really no documents but this is incorrect. Just the first page has no documents.
A solution would be to let find().exec() fail if there are more pages (LastEvaluatedKey exists) so the caller knows the results are partial.
Having a large data set and executing a filtered query may result in no documents at all when calling
.find().exec(). Calling.find().raw().exec()instead properly shows there are more pages.Since
find().exec()just silently returns no records, callers unaware of the paging nature of the underlying scan process by AWS may think there are really no documents but this is incorrect. Just the first page has no documents.A solution would be to let
find().exec()fail if there are more pages (LastEvaluatedKeyexists) so the caller knows the results are partial.