2015-01-22 2 views
-1

У меня есть конечная точка, как: /каналов: ID/альбомы -> возвращает все альбомы для конкретного каналаNode.js фильтрация API

То, что я хотел бы иметь: Как я могу для экс фильтрации результатов , скажем, мне нужны только альбомы с определенным полем или ограничение числа возвращаемых строк.

Как добиться этого в Node.js с помощью Express? пример кода, который у меня есть RIGH теперь выглядит следующим образом:

new Album().where('channel_id', '=', req.params.channel_id).fetchAll() 
    .then(function (album) { 
     res.json({error: false, status: 200, data: album}); 
    }) 
    .otherwise(function (err) { 
     res.status(500).json({error: true, data: {message: err.message}}); 
    }); 

Спасибо,

+0

Является ли это гипотетическим API? Твой собственный? Или услуга? Это имеет значение для того, как этот * должен быть реализован. – Paystey

+0

Это настоящий пример ... – Lulzim

+0

@Paystey Я не согласен, он должен быть реализован наилучшим образом ... каждый раз. – James

ответ

0

Append их в качестве параметров строки запроса, а затем проверить их в вашем экспресс маршрут. Например, если ваш запрос был channels/12345/albums?maxResults=200, тогда вы должны иметь возможность прочитать это значение из объекта query в запросе.

app.get('channels/:id/albums', function(req, res) { 
    // req.query.maxResults will be 200 
}); 
+0

Да, я знаю, как читать параметры из URL-адреса, но то, что я спрашивал, было более общий ответ, например, как сделать фильтрацию более общей, допустим, у меня есть это значение 200, что бы я теперь сделал? сделать отдельную функцию, чтобы показать предельное количество строк, или пусть кто-то дает? name = album1, должен ли я делать отдельные функции также для поиска из альбомов, где name = album1? – Lulzim

+0

@LulzimFazlija, полностью зависящий от вашего поставщика услуг. Я начинаю думать, что этот вопрос не касается Node/Express вообще и больше относится к базовому хранилищу (о котором вы не упоминаете). – James

+0

Что вы подразумеваете под базовым хранилищем ?, Этот API создан с использованием Express в Node.js – Lulzim