Querying records with logical filters

From DreamFactory
Jump to: navigation, search
DreamFactoryTutorialsQuerying records with logical filters

GET records in a SQL or NoSQL database with a filter string. Try these examples in the 'API Docs' tab of the DreamFactory Admin Console or from the command line with cURL.

Note that filter strings are simply SQL queries with ordinary SQL operators, including <, <=, >, >=, =, !=, or, and, like.

API Endpoint

GET https://{url}/api/v2/{api_name}/_table/{table_name}?filter={filter_string}

API Docs Screenshot

Swagger-filter-new.png

Example - GET contact records whose last name starts with 'Y'

  • Table name: contact
  • Filter parameter in API call:
    last_name like Y%
  • Request URL:
    https://foo.com/api/v2/db/_table/contact?filter=last_name%20like%20Y%25

Example - GET contact records whose last name is 'Yang'

  • Table name: contact
  • Filter parameter in API call:
    last_name = Yang
  • Request URL:
    https://foo.com/api/v2/db/_table/contact?filter=last_name%20%3D%20Yang

Example - GET contact records whose first name is 'Jon' and last name is 'Yang'

  • Table name: contact
  • Filter parameter in API call:
    (first_name = Jon) and (last_name = Yang)
  • Request URL:
    https://foo.com/api/v2/db/_table/contact?filter=(first_name%20%3D%20Jon)%20and%20(last_name%20%3D%20Yang)

Example - GET contact records whose first name starts with 'J' and last name starts with 'Y'

  • Table name: contact
  • Filter parameter in API call:
    (first_name like J%) and (last_name like Y%)
  • Request URL:
    https://foo.com/api/v2/db/_table/contact?filter=(first_name%20like%20J%25)%20and%20(last_name%20like%20Y%25)

Example - GET contact records whose Twitter handle contains 'jon' or whose Skype handle contains 'jon'

  • Table name: contact
  • Filter parameter in API call:
    (twitter like %jon%) or (skype like %jon%)
  • Request URL:
    https://foo.com/api/v2/db/_table/contact?filter=(twitter%20like%20%25jon%25)%20or%20(skype%20like%20%25jon%25)

Example - GET contact records whose last name is not 'Yang'

  • Table name: contact
  • Filter parameter in API call:
    (last_name != Yang)
  • Request URL:
    https://foo.com/api/v2/db/_table/contact?filter=(last_name%20!=%20Yang)