monjo
mongoDB inspired JSON filters for JS
Usage
const compileFilter = ;const query = name: 'Foo Bar' age: $gt: 5 hobbies: $elemMatch: $not: name: $eq: 'music' ;const filter = ;const users = ;for let validUser of users // do stuff
Supported Operators
$eq
- See mongoDB's documentation.$ne
- See mongoDB's documentation.$gt
- See mongoDB's documentation.$gte
- See mongoDB's documentation.$lt
- See mongoDB's documentation.$lte
- See mongoDB's documentation.$in
- See mongoDB's documentation.$nin
- See mongoDB's documentation.$not
- See mongoDB's documentation.$and
- See mongoDB's documentation.$or
- See mongoDB's documentation.$exists
- See mongoDB's documentation.$size
- See mongoDB's documentation.$all
- See mongoDB's documentation.$elemMatch
- See mongoDB's documentation.$startsWith
- wraps overString.prototype.startsWith
.$endsWith
- wraps overString.prototype.endsWith
.
Custom filters
Filters (nested, or otherwise) may be funtions that accept values and return a boolean-like value.
const compileFilter = ;const query = { return age % 10 === 0; };const filter = ;const users = ;for let validUser of users // do stuff