Stay organized with collections Save and categorize content based on your preferences.
Build a Query object.
**Queries are built with {module:datastore#createQuery} and .**
Package@google-cloud/datastore Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const query = datastore.createQuery('AnimalNamespace', 'Lion');
Constructors (constructor)(scope, kinds)
constructor(scope?: Datastore | Transaction, kinds?: string[] | null);
Constructs a new instance of the Query
class
constructor(scope?: Datastore | Transaction, namespace?: string | null, kinds?: string[]);
Constructs a new instance of the Query
class
endVal: string | Buffer | null;
entityFilters
entityFilters: EntityFilter[];
filters groupByVal kinds limitVal namespace
namespace?: string | null;
offsetVal orders scope
scope?: Datastore | Transaction;
selectVal startVal
startVal: string | Buffer | null;
Methods end(end)
end(end: string | Buffer): this;
Set an ending cursor to a query.
Parameter Name Descriptionend
string | "\"buffer\"".__global.Buffer
this
{Query}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const companyQuery = datastore.createQuery('Company');
const cursorToken = 'X';
// Retrieve results limited to the extent of cursorToken.
const endQuery = companyQuery.end(cursorToken);
filter(filter)
filter(filter: EntityFilter): Query;
Datastore allows querying on properties. Supported comparison operators are =
, <
, >
, <=
, >=
, !=
, HAS_ANCESTOR
, IN
and NOT_IN
.
*To filter by ancestors, see {module:datastore/query#hasAncestor}.*
Parameter Name Descriptionfilter
EntityFilter
Query
{Query}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const query = datastore.createQuery('Company');
//-
// List all companies that are located in California.
//-
const caliQuery = query.filter('state', 'CA');
//-
// List all companies named Google that have less than 400 employees.
//-
const companyQuery = query
.filter('name', 'Google')
.filter('size', '<', 400);="" -="" to="" filter="" by="" key,="" use="" `__key__`="" for="" the="" property="" name.="" filter="" on="" keys="" stored="" as="" properties="" is="" not="" currently="" supported.="" -="" const="" key="datastore.key(['Company'," 'google']);="" const="" keyquery="query.filter('__key__'," key);="">
filter(property, value)
filter<T extends string>(property: T, value: AllowedFilterValueType<T>): Query;
Parameters Name Description property
T
value
AllowedFilterValueType<T>
Query
Type Parameter Name Description T
filter(property, operator, value)
filter<T extends string>(property: T, operator: Operator, value: AllowedFilterValueType<T>): Query;
Parameters Name Description property
T
operator
Operator
value
AllowedFilterValueType<T>
Query
Type Parameter Name Description T
groupBy(fieldNames)
groupBy(fieldNames: string | string[]): this;
Group query results by a list of properties.
Parameter Name DescriptionfieldNames
string | string[]
this
{Query}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const companyQuery = datastore.createQuery('Company');
const groupedQuery = companyQuery.groupBy(['name', 'size']);
hasAncestor(key)
hasAncestor(key: Key): this;
Filter a query by ancestors.
Parameter Name Descriptionkey
Key
Key object to filter by.
Returns Type Descriptionthis
{Query}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const query = datastore.createQuery('MyKind');
const ancestoryQuery = query.hasAncestor(datastore.key(['Parent', 123]));
limit(n)
Set a limit on a query.
Parameter Name Descriptionn
number
The number of results to limit the query to.
Returns Type Descriptionthis
{Query}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const companyQuery = datastore.createQuery('Company');
// Limit the results to 10 entities.
const limitQuery = companyQuery.limit(10);
offset(n)
Set an offset on a query.
Parameter Name Descriptionn
number
The offset to start from after the start cursor.
Returns Type Descriptionthis
{Query}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const companyQuery = datastore.createQuery('Company');
// Start from the 101st result.
const offsetQuery = companyQuery.offset(100);
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.
Parameters Name Descriptionproperty
string
The property to order by.
options
OrderOptions
Options object.
Returns Type Descriptionthis
{Query}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const companyQuery = datastore.createQuery('Company');
// Sort by size ascendingly.
const companiesAscending = companyQuery.order('size');
// Sort by size descendingly.
const companiesDescending = companyQuery.order('size', {
descending: true
});
run(options)
run(options?: RunQueryOptions): Promise<RunQueryResponse>;
Run the query.
Parameter Name Descriptionoptions
RunQueryOptions
Optional configuration.
Returns Type DescriptionPromise<RunQueryResponse>
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const query = datastore.createQuery('Company');
query.run((err, entities, info) => {
// entities = An array of records.
// Access the Key object for an entity.
const firstEntityKey = entities[0][datastore.KEY];
});
//-
// A keys-only query returns just the keys of the result entities instead
of
// the entities themselves, at lower latency and cost.
//-
query.select('__key__');
query.run((err, entities) => {
const keys = entities.map((entity) => {
return entity[datastore.KEY];
});
});
//-
// If the callback is omitted, we'll return a Promise.
//-
query.run().then((data) => {
const entities = data[0];
});
run(options, callback)
run(options: RunQueryOptions, callback: RunQueryCallback): void;
Parameters Name Description options
RunQueryOptions
callback
RunQueryCallback
void
run(callback)
run(callback: RunQueryCallback): void;
Parameter Name Description callback
RunQueryCallback
void
runStream(options)
runStream(options?: RunQueryStreamOptions): import("stream").Transform;
Run the query as a readable object stream.
Query#runStream
Parameter Name Descriptionoptions
RunQueryStreamOptions
Optional configuration. See for a complete list of options.
Returns Type Descriptionimport("stream")."\"stream\"".internal.Transform
{stream}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const query = datastore.createQuery('Company');
query.runStream()
.on('error', console.error)
.on('data', function (entity) {
// Access the Key object for this entity.
const key = entity[datastore.KEY];
})
.on('info', (info) => {})
.on('end', () => {
// All entities retrieved.
});
//-
// If you anticipate many results, you can end a stream early to prevent
// unnecessary processing and API requests.
//-
query.runStream()
.on('data', function (entity) {
this.end();
});
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.
Parameter Name DescriptionfieldNames
string | string[]
Properties to return from the matched entities.
Returns Type Descriptionthis
{Query}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const companyQuery = datastore.createQuery('Company');
// Only retrieve the name property.
const selectQuery = companyQuery.select('name');
// Only retrieve the name and size properties.
const selectQuery = companyQuery.select(['name', 'size']);
start(start)
start(start: string | Buffer): this;
Set a starting cursor to a query.
Parameter Name Descriptionstart
string | "\"buffer\"".__global.Buffer
this
{Query}
Example
const {Datastore} = require('@google-cloud/datastore');
const datastore = new Datastore();
const companyQuery = datastore.createQuery('Company');
const cursorToken = 'X';
// Retrieve results starting from cursorToken.
const startQuery = companyQuery.start(cursorToken);
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4