Query Guide Enhanced

LIKE queries are TBD


Query Types

Iteration: Queries can be iterated over with query types being added as root keys in any order or quantity.
example: {simple, $like, $not} → {"field1" : "value1", "field1" : {"$like" : "value1"},"field1" : {"$not" : "value1"}}

Query joins: By default all query types are joined with an AND.

simple - queries a field containing a value

{"field1" : "value1", "field2" : "value2"}

sql example: Where field1 = "value1" AND "field2" = value2

{"field1" : "value1", "field2:or" : "value2"}

sql example: Where field1 = "value1" OR "field2" = value2

$like - queries a field containing a like value. Values are searched by the LIKE condition. LIKE condition is case insensitive and will match any string/number containing the searched for value.

{"field1" : {"$like" : "value1"}, "field2" : {"$like" : "value2"}}

sql example: WHERE x.field1 LIKE "%value1%" AND field2 LIKE "%value2%"

sql example: WHERE x.field1 LIKE "%value1%" OR field2 LIKE "%value2%"

$not - queries a field not containing a value.

sql example: WHERE field1 != "value1" AND field2 != "value2"

$in - queries a field containing multiple values. ANY condition must be true.

sql example: WHERE field1 IN ("value1","value2") AND field2 IN ("value21", "value22")

$nin - (not in) queries a field not containing multiple values. ALL conditions must be true.

sql example: WHERE field1 NOT IN ("value1","value2") AND field2 NOT IN ("value21", "value22")

$or - queries multiple fields containing multiple values. ANY condition must be true.
- may include an array of values
- sql example Where field1 = "value1" OR "field2" IN ("value1", "value2", "value3")

$and - queries multiple fields containing multiple values. ALL conditions must be true.
- may include an array of values (these inner values will match on OR conditions for ex: Where field IN ("value1", "value2", "value3"))
- sql example Where field1 = "value1" AND "field2" IN ("value1", "value2", "value3")

$and:like - queries multiple fields containing multiple values. ALL conditions must be true. Values are searched by the LIKE condition. LIKE condition is case insensitive and will match any string/number containing the searched for value.

sql example Where field1 LIKE "%value1%" AND "field2" IN ("value1", "value2", "value3")

$table.field - queries joined data fields for multiple values. ALL conditions must be true.

$table.field:like - queries joined data fields for multiple values. ALL conditions must be true. Values are searched by the LIKE condition. LIKE condition is case insensitive and will match any string/number containing the searched for value.

$table.field - MULTIPLE VALUES - Executes like other table.field queries but will return all results exactly matching any of the given values. Executes like sql IN(value1,value2,value3)

$table.field:like - MULTIPLE VALUES - Executes like other table.field queries but will return all results including any of the given values. Executes a sql regex expression.


$area queries are only available for services and services/complete endpoints
$area - queries services that exist within geographical areas.

$area:like - queries services that exist within geographical areas. It will match on any LIKE area ‘name’ value.

$area - $table.field - queries services that exist within geographical areas. $table.field is an optional search parameter that allows added filtering by taxonomy terms. This can be used with area:like as well.

$area - $table.field:like - queries services that exist within geographical areas. $table.field is an optional search parameter that allows added filtering by taxonomy terms. This can be used with area:like as well.

$area - $in - queries services that exist within geographical areas. $table.field is an optional search parameter that allows added filtering by taxonomy terms. This can be used with area:like as well.

$area - $in:like - queries services that exist within geographical areas. $table.field is an optional search parameter that allows added filtering by taxonomy terms. This can be used with area:like as well.


distance_info - this is a subquery of $table.field, $table.field:like, $area, $area:like
This query is only available for services/complete
This will return distance information of the services location relative to the center of the input location
the distance_info accepts three options.

  1. {“type“:”city”, ”name”:”detroit”}

  2. {“type“:”zipcode”, ”name”:”49999”}

  3. {“lat“:”44.99999”, ”lng”:”-82.99999”}

distance_info for table.field queries.

distance_info for area queries.





viable queries: