Bloc
Functional Reactive array filtering and aggregation with a MongoDB inspired syntax.
Usage
For normal usage arrays are returned with the results.
var Bloc = ;var data = id: 1 region: 'us-east-1' id: 2 region: 'us-west-1' ;var filter = region: $eq: 'us-east-1' ; Bloc;
If desired, a stream can be returned instead.
var Bloc = ;var data = id: 1 region: 'us-east-1' id: 2 region: 'us-west-1' ;var filter = region: $eq: 'us-east-1' ; Bloc;
Query Selectors
Below is a list of all the supported query selectors.
Comparison Operators
Used for the comparison of different values for filters.
$eq
Matches all values that are equal to a specified value.
<field>: $eq: <value>
$ne
Matches all values that are not equal to a specified value.
<field>: $ne: <value>
$gt
Matches values that are greater than a specified value.
<field>: $gt: <value>
$gte
Matches values that are greater than or equal to a specified value.
<field>: $gte: <value>
$lt
Matches values that are less than a specified value.
<field>: $lt: <value>
$lte
Matches values that are less than or equal to a specified value.
<field>: $lte: <value>
$in
Matches any of the values specified in an array.
<field>: $in: <value1> <value2> ... <valueN>
$nin
Matches none of the values specified in an array.
<field>: $nin: <value1> <value2> ... <valueN>
$mod
Performs a modulo operation on the value of a field and selects documents with a specified result.
<field>: $mod: divisor remainder
$regex
Selects documents where values match a specified regular expression.
<field>: $regex: <regular expression>
$where
Matches documents that satisfy a JavaScript function.
<field>: $where: <
Logical Operators
Used for grouping together filter clauses.
$or
Joins query clauses with a logical OR returns all documents that match the conditions of either clause.
$or: <expression1> <expression2> ... <expressionN>
$and
Joins query clauses with a logical AND returns all documents that match the conditions of both clauses.
$and: <expression1> <expression2> ... <expressionN>
$not
Inverts the effect of a query expression and returns documents that do not match the query expression.
<field>: $not: <operator>: <value>
$nor
Joins query clauses with a logical NOR returns all documents that fail to match both clauses.
$nor: <expression1> <expression2> ... <expressionN>
Array Operators
Operators to use when filtering arrays.
$all
Matches arrays that contain all elements specified in the query.
<field>: $all: <value1> <value2> ... <valueN>
$elemMatch
Selects documents if element in the array field matches all the specified conditions.
<field>: $elemMatch: <query1> <query2> ... <queryN>
$size
Selects documents if the array field is a specified size.
<field>: $size: <number>