[SERVER-20305] Pagination w/ Server Side Range Queries Created: 06/Sep/15 Updated: 06/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | Christopher Price | Assignee: | Backlog - Query Optimization |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Assigned Teams: |
Query Optimization
|
| Participants: |
| Description |
|
The .min() and .max() features are nice but require specifying min or max values for all fields in the index. This makes it difficult to mix and match sort orders. Additionally, it would be beneficial to be able to specify some fields from the index in the search criteria (using $all or $in) and the remainder of the criteria in the .min() or .max() or in a new potential method such as.getNextPage(). If such a feature as getNextPage() (or a better name) were available, the customer would pass in just enough sorting information such that combined with the standard search criteria, the system could pick up where the previous query left off. More specifically, the customer would pass in the partial sort values from the last document of the previous result set. The system in return would transform these values into additional search criteria. Documentation and examples attached. |
| Comments |
| Comment by Christopher Price [ 08/Sep/15 ] |
|
I neglected to mention that my preferred signature of a getNextPage method would be all of the sort values of the last document from the previous page. Even placing the effort on the customer to ensure that the combination of sort/filter values are sufficiently unique for their application is acceptable. |
| Comment by Ramon Fernandez Marina [ 08/Sep/15 ] |
|
Thanks for your detailed report christopher.price@mtvn.com. We've set the fixVersion to "Needs Triage" for this new feature to be considered in the next round of planning. Updates will be posted on this ticket as they happen. Regards, |