This module implements LoopBack style filtering without any dependencies on LoopBack.
$ npm install loopback-filters
Below is a basic example using the module
var applyFilter = require('loopback-filters');
var data = [{foo: 'bar'}, {bat: 'baz'}, {foo: 'bar'}];
var filter = {where: {foo: 'bar'}};
var filtered = applyFilter(data, filter);
console.log(filtered);
The output would be:
[{foo: 'bar'}, {foo: 'bar'}]
// return items where
applyFilter({
where: {
// the price > 10 && price < 100
price: {gt: 10, lt: 100},
// match Mens Shoes and Womens Shoes and any other type of Shoe
category: {like: '.* Shoes'},
// the status is either in-stock or available
status: {inq: ['in-stock', 'available']}
}
})
Only include objects that match the specified where clause. See full list of supported operators.
applyFilter(data, {
where: {
location: {near: '153.536,-28'}
},
limit: 10
})
Sort objects by distance to a specified GeoPoint
.
Sort objects by one or more properties.
Limit the results to a specified number. Skip a specified number of results.
Include or exclude a set of fields in the result.
Note: Inclusion from loopback is not supported!
See the LoopBack docs for the filter syntax.