Skip to content
Oxford Harrison edited this page Nov 11, 2024 · 25 revisions

DOCSAPIDQLTable API


Programmatically perform an SELECT query.

See also ➞ SELECT

Syntax

table.select(
    fields?: Field[],
    modifiers?: QueryOptions | LimitClause | Callback,
): Promise<QueryResult>;
table.select(
    arg?: {
        fields?: Field[];
    } & QueryOptions | LimitClause | Callback
): Promise<QueryResult>;
Param Interfaces Description
fields? Field Optional list of fields to select. Defaults to all fields if omitted.
modifiers? QueryOptions
LimitClause
Optional additional query modifiers. Can be Callback—a callback function that recieves the underlying SelectStatement instance for building.
arg? Field
QueryOptions
LimitClause
Optional argument for a single-parameter call pattern. Can be Callback—a callback function that recieves the underlying SelectStatement instance for building.

QueryOptions

interface QueryOptions {
    where?: WhereClause;
    orderBy?: OrderByClause;
    groupBy?: GroupByClause;
    limit?: LimitClause;
}
Param Interfaces Description
where? WhereClause Optional WHERE clause.
orderBy? OrderByClause Optional ORDER BY clause.
groupBy? GroupByClause Optional GROUP BY clause.
limit? LimitClause Optional LIMIT clause.

QueryResult

type QueryResult = Array<object> | object;
Type Interfaces Description
Array<object> - An array of objects—the default query result.
object - A single object—the result of find by ID.

Usage

Call Patterns

Two-parameter call pattern:

/**
 * SELECT first_name, last_name, email
 * LIMIT 4
 */
const result = await table.select(['first_name', 'last_name', 'email'], 4);

Single-parameter call pattern:

/**
 * SELECT first_name, last_name, email
 */
const result = await table.select(['first_name', 'last_name', 'email']);
/**
 * SELECT *
 * LIMIT 4
 */const result = await table.select(4);
/**
 * SELECT first_name, last_name, email
 * LIMIT 4
 */
const result = await table.select({
    fields: ['first_name', 'last_name', 'email'],
    limit: 4
});

Zero-parameter call pattern:

/**
 * SELECT *
 */
const result = await table.select();

Find By ID

Find by ID—with actual ID name automatically figured by Linked QL:

/**
 * SELECT *
 * WHERE automatically_figured_primary_key_name = 4
 */
const result = await table.select({ where: 1 });
console.log(result); // single result object
Clone this wiki locally