Class Query

Build a Query object.

**Queries are built with {module:datastore#createQuery} and .**

Datastore Queries

Package

@google-cloud/datastore

Constructors

(constructor)(scope, kinds)

constructor(scope?: Datastore | Transaction, kinds?: string[] | null);

Constructs a new instance of the Query class

Parameters
Name Description
scope Datastore | Transaction
kinds string[] | null

(constructor)(scope, namespace, kinds)

constructor(scope?: Datastore | Transaction, namespace?: string | null, kinds?: string[]);

Constructs a new instance of the Query class

Parameters
Name Description
scope Datastore | Transaction
namespace string | null
kinds string[]

Properties

endVal

endVal: string | Buffer | null;
Property Value
Type Description
string | Buffer | null

filters

filters: Filter[];
Property Value
Type Description
Filter[]

groupByVal

groupByVal: Array<{}>;
Property Value
Type Description
Array<{}>

kinds

kinds: string[];
Property Value
Type Description
string[]

limitVal

limitVal: number;
Property Value
Type Description
number

namespace

namespace?: string | null;
Property Value
Type Description
string | null

offsetVal

offsetVal: number;
Property Value
Type Description
number

orders

orders: Order[];
Property Value
Type Description
Order[]

scope

scope?: Datastore | Transaction;
Property Value
Type Description
Datastore | Transaction

selectVal

selectVal: Array<{}>;
Property Value
Type Description
Array<{}>

startVal

startVal: string | Buffer | null;
Property Value
Type Description
string | Buffer | null

Methods

end(end)

end(end: string | Buffer): this;

Set an ending cursor to a query.

Query Cursors

Parameter
Name Description
end string | Buffer
Returns
Type Description
this

{Query}

filter(property, value)

filter(property: string, value: {}): Query;
Parameters
Name Description
property string
value {}
Returns
Type Description
Query

filter(property, operator, value)

filter(property: string, operator: Operator, value: {}): Query;
Parameters
Name Description
property string
operator Operator
value {}
Returns
Type Description
Query

groupBy(fieldNames)

groupBy(fieldNames: string | string[]): this;

Group query results by a list of properties.

Parameter
Name Description
fieldNames string | string[]
Returns
Type Description
this

{Query}

hasAncestor(key)

hasAncestor(key: Key): this;

Filter a query by ancestors.

Datastore Ancestor Filters

Parameter
Name Description
key Key

Key object to filter by.

Returns
Type Description
this

{Query}

limit(n)

limit(n: number): this;

Set a limit on a query.

Query Limits

Parameter
Name Description
n number

The number of results to limit the query to.

Returns
Type Description
this

{Query}

offset(n)

offset(n: number): this;

Set an offset on a query.

Query Offsets

Parameter
Name Description
n number

The offset to start from after the start cursor.

Returns
Type Description
this

{Query}

order(property, options)

order(property: string, options?: OrderOptions): this;

Sort the results by a property name in ascending or descending order. By default, an ascending sort order will be used.

Datastore Sort Orders

Parameters
Name Description
property string

The property to order by.

options OrderOptions

Options object.

Returns
Type Description
this

{Query}

run(options)

run(options?: RunQueryOptions): Promise<RunQueryResponse>;
Parameter
Name Description
options RunQueryOptions
Returns
Type Description
Promise<RunQueryResponse>

run(options, callback)

run(options: RunQueryOptions, callback: RunQueryCallback): void;
Parameters
Name Description
options RunQueryOptions
callback RunQueryCallback
Returns
Type Description
void

run(callback)

run(callback: RunQueryCallback): void;
Parameter
Name Description
callback RunQueryCallback
Returns
Type Description
void

runStream(options)

runStream(options?: RunQueryStreamOptions): import("stream").Transform;

Run the query as a readable object stream.

Query#runStream

Parameter
Name Description
options RunQueryStreamOptions

Optional configuration. See for a complete list of options.

Returns
Type Description
import("stream").internal.Transform

{stream}

select(fieldNames)

select(fieldNames: string | string[]): this;

Retrieve only select properties from the matched entities.

Queries that select a subset of properties are called Projection Queries.

Projection Queries

Parameter
Name Description
fieldNames string | string[]

Properties to return from the matched entities.

Returns
Type Description
this

{Query}

start(start)

start(start: string | Buffer): this;

Set a starting cursor to a query.

Query Cursors

Parameter
Name Description
start string | Buffer
Returns
Type Description
this

{Query}