Implementing paging and filtering
Once deployed to the web, each service becomes available to an enormous number of consumers. They will not only use it to get data but also to insert new data. At some point of time, this will inevitably lead to a large amount of data being available in the database. In order to keep the service user-friendly and maintain a reasonable response time, we need to take care of providing big data in reasonable portions, assuring that it does not need to return a few hundred thousand contacts when the /contacts
URI is requested.
Web data consumers are used to having various pagination and filtering capabilities. Earlier in this chapter, we implemented the query_by_arg()
function, which enabled filtering by any of the attributes in our contacts. Now it's time to bring in pagination capabilities, to enable navigation within the result set with the help of a URI parameters.
The mongoose.js
models can make use of different plugin modules to provide additional functionality...