@travetto/model-query-language v5.0.18
Data Model Query Language
Datastore query language.
Install: @travetto/model-query-language
npm install @travetto/model-query-language
# or
yarn add @travetto/model-query-language
This module provides a textual query language for the Data Model Querying interface. The language itself is fairly simple, boolean logic, with parenthetical support.The operators supported are:
Query Language
<
,<=
- Less than, and less than or equal to>
,>=
- Greater than, and greater than or equal to!=
,==
- Not equal to, and equal to~
- Matches regular expression, supports thei
flag to trigger case insensitive searches!
,not
- Negates a clausein
,not-in
- Supports checking if a field is in a list of literal valuesand
,&&
- Intersection of clausesor
,||
- Union of clauses All sub fields are dot separated for access, e.g.user.address.city
.A query language version of the previous query could look like:
Code: Query language with boolean checks and exists check
not (age < 35) and contact != null
A more complex query would look like:
Code: Query language with more complex needs
user.role in ['admin', 'root'] && (user.address.state == 'VA' || user.address.city == 'Springfield')
Regular Expression
When querying with regular expressions, patterns can be specified as 'strings'
or as /patterns/
. The latter allows for the case insensitive modifier: /pattern/i
. Supporting the insensitive flag is up to the underlying model implementation.
5 months ago
5 months ago
6 months ago
7 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago