Especificación de los parámetros de Mongo Query desde el controlador del cliente (MEAN.JS)

Estoy creando una aplicación usando MongoDB, Angular, Express y Node (MEAN stack).

Usé el generador MEAN.JS para andamiar mi aplicación.

Usaré el módulo de artículos como referencia.

Supongamos que tengo 7000 registros en mi colección de artículos, y cada registro tiene una fecha asociada. Es ineficiente cargar todos los 7000 registros en la memoria cada vez que cargo la página para ver los registros en una tabla y estoy viendo terribles pérdidas de rendimiento debido a eso. Por esta razón, solo me gustaría cargar registros con una fecha en el rango de (Hace 1 mes) a (1 año a partir de ahora) y mostrarlos en la tabla. Actualmente puedo hacer esto con lo siguiente:

En mis artículos.client.controller.js:

$scope.find = function() {
        $articles = Articles.query();
};

... y en mis artículos.server.controller.js:

var now = new Date();
var aYearFromNow = new Date(now.getTime() + 86400000*365); //add a year
var aMonthAgo = new Date(now.getTime() - 86400000*30); //subtract roughly a month

exports.list = function(req, res) { Article.find().where('date').lt(aYearFromNow).gt(aMonthAgo).sort('-created').populate('user', 'displayName').exec(function(err, articles) {
        if (err) {
            return res.send(400, {
                message: getErrorMessage(err)
            });
        } else {
            res.jsonp(articles);
        }
    });
};

El problema es que esta no es una forma dinámica de hacer las cosas. En otras palabras, quiero que el usuario pueda especificar qué tan atrás y qué tan lejos quiere ver.

¿Cómo puedo vincularme a variables (por ejemplo, 'aYearFromNow' y 'aMonthAgo') en mi vista de cliente que cambiarán los parámetros de consulta en el controlador de mi servidor?

Respuestas a la pregunta(2)

Su respuesta a la pregunta