Наложить максимальный лимит в Loopback

Есть ли способ установить максимальный лимит в Loopback. Я представляю что-то вроде этого:

MyModel.paginateFind = function(filter, page, cb){

    // Set max limit of 1000
    if (filter.limit > 1000) filter.limit = 1000;

    // Set pagination
    filter.skip = filter.limit * (page - 1);

    // Call the standard find function with the new filter
    MyModel.find(filter, function(err, res){
        cb(err, res);
    });
}

MyModel.remoteMethod(
    'paginatedFind',
    {
        http: {path: '/', verb: 'get'},
        accepts: [
            {arg: 'filter', type: 'object'},
            {arg: 'page',   type: 'number'}
        ],
        returns: {arg: 'result', type: 'object'}
    }
);

Это работает, когда фильтр отформатирован как json, но не в таком формате: http://localhost:3000/api/MyModel?filter=[where][country]=DE. Как я могу использовать стандартный формат фильтра StongLoop?


person Geoffrey Burdett    schedule 08.06.2015    source источник
comment
Возможно, вы ищете limit filter, который идет рука об руку с skip filter? docs.strongloop.com/display/public/LB/Limit+filter   -  person pulkitsinghal    schedule 09.06.2015
comment
Да, но я не знаю, как манипулировать фильтром в пользовательской функции/конечной точке модели. Я уверен, что это что-то очень простое.   -  person Geoffrey Burdett    schedule 09.06.2015
comment
Ваш псевдокод кажется мне довольно точным... вы спрашивали на gitter.im/strongloop/loopback< /а> уже?   -  person pulkitsinghal    schedule 09.06.2015


Ответы (1)


Формат, согласно документации здесь, должен выглядеть следующим образом:

api/MyModel?filter[where][country]=DE
person JSimonsen    schedule 17.06.2015