Class Datastore

Idiomatic class for interacting with Cloud Datastore. Uses the lower-level class under the hood.

In addition to the constructor options shown here, the Datastore class constructor accepts the same options accepted by .

The Datastore Emulator

Make sure you have the gcloud SDK installed, then run:

 $ gcloud beta emulators datastore start --no-legacy 

You will see the following printed:

 \[datastore\] API endpoint: http://localhost:8005 \[datastore\] If you are using a library that supports the DATASTORE\_EMULATOR\_HOST environment variable, run: \[datastore\] \[datastore\] export DATASTORE\_EMULATOR\_HOST=localhost:8005 \[datastore\] \[datastore\] Dev App Server is now running. 

Set that environment variable and your localhost Datastore will automatically be used. You can also pass this address in manually with apiEndpoint.

Additionally, DATASTORE_PROJECT_ID is recognized. If you have this set, you don't need to provide a projectId.

{DatastoreRequest}

[Cloud Datastore Concepts Overview]https://cloud.google.com/datastore/docs/concepts/overview

Inheritance

DatastoreRequest > Datastore

Package

@google-cloud/datastore!

Constructors

(constructor)(options)

constructor(options?: DatastoreOptions);

Constructs a new instance of the Datastore class

Parameter
TypeNameDescription
DatastoreOptionsoptions

Properties

auth

auth: GoogleAuth;
Property Value
TypeDescription
GoogleAuth

baseUrl_

baseUrl_?: string;
Property Value
TypeDescription
string

clients_

clients_: Map<string, ClientStub>;
Property Value
TypeDescription
Map<string, ClientStub>

customEndpoint_

customEndpoint_?: boolean;
Property Value
TypeDescription
boolean

DatastoreRequest

DatastoreRequest: typeof DatastoreRequest;

DatastoreRequest class.

Datastore.DatastoreRequest DatastoreRequest {constructor}

Property Value
TypeDescription
typeof DatastoreRequest

defaultBaseUrl_

defaultBaseUrl_: string;
Property Value
TypeDescription
string

KEY

KEY: typeof entity.KEY_SYMBOL;
Property Value
TypeDescription
typeof entity.KEY_SYMBOL

KEY

static KEY: typeof entity.KEY_SYMBOL;

Access the Key from an Entity object.

Datastore#KEY {symbol}

Property Value
TypeDescription
typeof entity.KEY_SYMBOL

MORE_RESULTS_AFTER_CURSOR

MORE_RESULTS_AFTER_CURSOR: string;
Property Value
TypeDescription
string

MORE_RESULTS_AFTER_CURSOR

static MORE_RESULTS_AFTER_CURSOR: string;

This is one of three values which may be returned from , , and as info.moreResults.

There *may* be more results after the specified end cursor.

{string}

Property Value
TypeDescription
string

MORE_RESULTS_AFTER_LIMIT

MORE_RESULTS_AFTER_LIMIT: string;
Property Value
TypeDescription
string

MORE_RESULTS_AFTER_LIMIT

static MORE_RESULTS_AFTER_LIMIT: string;

This is one of three values which may be returned from , , and as info.moreResults.

There *may* be more results after the specified limit.

{string}

Property Value
TypeDescription
string

namespace

namespace?: string;
Property Value
TypeDescription
string

NO_MORE_RESULTS

NO_MORE_RESULTS: string;
Property Value
TypeDescription
string

NO_MORE_RESULTS

static NO_MORE_RESULTS: string;

This is one of three values which may be returned from , , and as info.moreResults.

There are no more results left to query for.

{string}

Property Value
TypeDescription
string

options

options: DatastoreOptions;
Property Value
TypeDescription
DatastoreOptions

port_

port_?: number;
Property Value
TypeDescription
number

Query

Query: typeof Query;

Query class.

Datastore.Query Query {constructor}

Property Value
TypeDescription
typeof Query

Transaction

Transaction: typeof Transaction;

Transaction class.

Datastore.Transaction Transaction {constructor}

Property Value
TypeDescription
typeof Transaction

Methods

createQuery(kind)

createQuery(kind?: string): Query;
Parameter
TypeNameDescription
stringkind
Returns
TypeDescription
Query

createQuery(kind)

createQuery(kind?: string[]): Query;
Parameter
TypeNameDescription
string[]kind
Returns
TypeDescription
Query

createQuery(namespace, kind)

createQuery(namespace: string, kind: string): Query;
Parameters
TypeNameDescription
stringnamespace
stringkind
Returns
TypeDescription
Query

createQuery(namespace, kind)

createQuery(namespace: string, kind: string[]): Query;
Parameters
TypeNameDescription
stringnamespace
string[]kind
Returns
TypeDescription
Query

determineBaseUrl_(customApiEndpoint)

determineBaseUrl_(customApiEndpoint?: string): void;

Determine the appropriate endpoint to use for API requests. If not explicitly defined, check for the "DATASTORE_EMULATOR_HOST" environment variable, used to connect to a local Datastore server.

Parameter
TypeNameDescription
stringcustomApiEndpoint

Custom API endpoint.

Returns
TypeDescription
void

double(value)

double(value: number): entity.Double;
Parameter
TypeNameDescription
numbervalue
Returns
TypeDescription
entity.Double

double(value)

static double(value: number): entity.Double;

Helper function to get a Datastore Double object.

Parameter
TypeNameDescription
numbervalue

The double value.

Returns
TypeDescription
entity.Double

{object}

export(config)

export(config: ExportEntitiesConfig): Promise<LongRunningResponse>;
Parameter
TypeNameDescription
ExportEntitiesConfigconfig
Returns
TypeDescription
Promise<LongRunningResponse>

export(config, callback)

export(config: ExportEntitiesConfig, callback: LongRunningCallback): void;
Parameters
TypeNameDescription
ExportEntitiesConfigconfig
LongRunningCallbackcallback
Returns
TypeDescription
void

geoPoint(coordinates)

geoPoint(coordinates: entity.Coordinates): entity.GeoPoint;
Parameter
TypeNameDescription
entity.Coordinatescoordinates
Returns
TypeDescription
entity.GeoPoint

geoPoint(coordinates)

static geoPoint(coordinates: entity.Coordinates): entity.GeoPoint;

Helper function to get a Datastore Geo Point object.

Parameter
TypeNameDescription
entity.Coordinatescoordinates

Coordinate value.

Returns
TypeDescription
entity.GeoPoint

{object}

getIndexes(options)

getIndexes(options?: GetIndexesOptions): Promise<GetIndexesResponse>;
Parameter
TypeNameDescription
GetIndexesOptionsoptions
Returns
TypeDescription
Promise<GetIndexesResponse>

getIndexes(options, callback)

getIndexes(options: GetIndexesOptions, callback: GetIndexesCallback): void;
Parameters
TypeNameDescription
GetIndexesOptionsoptions
GetIndexesCallbackcallback
Returns
TypeDescription
void

getIndexes(callback)

getIndexes(callback: GetIndexesCallback): void;
Parameter
TypeNameDescription
GetIndexesCallbackcallback
Returns
TypeDescription
void

getIndexesStream(options)

getIndexesStream(options?: GetIndexesOptions): NodeJS.ReadableStream;

Get all of the indexes in this project as a readable object stream.

Parameter
TypeNameDescription
GetIndexesOptionsoptions

Configuration object. See for a complete list of options.

Returns
TypeDescription
NodeJS.ReadableStream

{ReadableStream

getProjectId()

getProjectId(): Promise<string>;
Returns
TypeDescription
Promise<string>

import(config)

import(config: ImportEntitiesConfig): Promise<LongRunningResponse>;
Parameter
TypeNameDescription
ImportEntitiesConfigconfig
Returns
TypeDescription
Promise<LongRunningResponse>

import(config, callback)

import(config: ImportEntitiesConfig, callback: LongRunningCallback): void;
Parameters
TypeNameDescription
ImportEntitiesConfigconfig
LongRunningCallbackcallback
Returns
TypeDescription
void

index(id)

index(id: string): Index;

Get a reference to an Index.

Parameter
TypeNameDescription
stringid

The index name or id.

Returns
TypeDescription
Index

{Index}

insert(entities)

insert(entities: Entities): Promise<InsertResponse>;
Parameter
TypeNameDescription
Entitiesentities
Returns
TypeDescription
Promise<InsertResponse>

insert(entities, callback)

insert(entities: Entities, callback: InsertCallback): void;
Parameters
TypeNameDescription
Entitiesentities
InsertCallbackcallback
Returns
TypeDescription
void

int(value)

int(value: number | string): entity.Int;
Parameter
TypeNameDescription
number | stringvalue
Returns
TypeDescription
entity.Int

int(value)

static int(value: number | string): entity.Int;

Helper function to get a Datastore Integer object.

This is also useful when using an ID outside the bounds of a JavaScript Number object.

Parameter
TypeNameDescription
number | stringvalue

The integer value.

Returns
TypeDescription
entity.Int

{object}

isDouble(value)

isDouble(value?: {}): boolean;
Parameter
TypeNameDescription
{}value
Returns
TypeDescription
boolean

isDouble(value)

static isDouble(value?: {}): boolean;

Helper function to check if something is a Datastore Double object.

Parameter
TypeNameDescription
{}value
Returns
TypeDescription
boolean

{boolean}

isGeoPoint(value)

isGeoPoint(value?: {}): boolean;
Parameter
TypeNameDescription
{}value
Returns
TypeDescription
boolean

isGeoPoint(value)

static isGeoPoint(value?: {}): boolean;

Helper function to check if something is a Datastore Geo Point object.

Parameter
TypeNameDescription
{}value
Returns
TypeDescription
boolean

{boolean}

isInt(value)

isInt(value?: {}): boolean;
Parameter
TypeNameDescription
{}value
Returns
TypeDescription
boolean

isInt(value)

static isInt(value?: {}): boolean;

Helper function to check if something is a Datastore Integer object.

Parameter
TypeNameDescription
{}value
Returns
TypeDescription
boolean

{boolean}

isKey(value)

isKey(value?: {}): boolean;
Parameter
TypeNameDescription
{}value
Returns
TypeDescription
boolean

isKey(value)

static isKey(value?: {}): boolean;

Helper function to check if something is a Datastore Key object.

Parameter
TypeNameDescription
{}value
Returns
TypeDescription
boolean

{boolean}

key(options)

key(options: entity.KeyOptions): entity.Key;
Parameter
TypeNameDescription
entity.KeyOptionsoptions
Returns
TypeDescription
entity.Key

key(path)

key(path: PathType[]): entity.Key;
Parameter
TypeNameDescription
PathType[]path
Returns
TypeDescription
entity.Key

key(path)

key(path: string): entity.Key;
Parameter
TypeNameDescription
stringpath
Returns
TypeDescription
entity.Key

keyFromLegacyUrlsafe(key)

keyFromLegacyUrlsafe(key: string): entity.Key;

Helper to convert URL safe key string to entity key object

This is intended to work with the "legacy" representation of a datastore "Key" used within Google App Engine (a so-called "Reference").

Parameter
TypeNameDescription
stringkey

Entity key object.

Returns
TypeDescription
entity.Key

{string} Created urlsafe key.

keyToLegacyUrlSafe(key, locationPrefix)

keyToLegacyUrlSafe(key: entity.Key, locationPrefix?: string): Promise<string>;
Parameters
TypeNameDescription
entity.Keykey
stringlocationPrefix
Returns
TypeDescription
Promise<string>

keyToLegacyUrlSafe(key, callback)

keyToLegacyUrlSafe(key: entity.Key, callback: KeyToLegacyUrlSafeCallback): void;
Parameters
TypeNameDescription
entity.Keykey
KeyToLegacyUrlSafeCallbackcallback
Returns
TypeDescription
void

keyToLegacyUrlSafe(key, locationPrefix, callback)

keyToLegacyUrlSafe(key: entity.Key, locationPrefix: string, callback: KeyToLegacyUrlSafeCallback): void;
Parameters
TypeNameDescription
entity.Keykey
stringlocationPrefix
KeyToLegacyUrlSafeCallbackcallback
Returns
TypeDescription
void

save(entities, gaxOptions)

save(entities: Entities, gaxOptions?: CallOptions): Promise<SaveResponse>;
Parameters
TypeNameDescription
Entitiesentities
CallOptionsgaxOptions
Returns
TypeDescription
Promise<SaveResponse>

save(entities, gaxOptions, callback)

save(entities: Entities, gaxOptions: CallOptions, callback: SaveCallback): void;
Parameters
TypeNameDescription
Entitiesentities
CallOptionsgaxOptions
SaveCallbackcallback
Returns
TypeDescription
void

save(entities, callback)

save(entities: Entities, callback: SaveCallback): void;
Parameters
TypeNameDescription
Entitiesentities
SaveCallbackcallback
Returns
TypeDescription
void

transaction(options)

transaction(options?: TransactionOptions): Transaction;

Create a new Transaction object.

Parameter
TypeNameDescription
TransactionOptionsoptions

Configuration object.

Returns
TypeDescription
Transaction

{Transaction}

update(entities)

update(entities: Entities): Promise<UpdateResponse>;
Parameter
TypeNameDescription
Entitiesentities
Returns
TypeDescription
Promise<UpdateResponse>

update(entities, callback)

update(entities: Entities, callback: UpdateCallback): void;
Parameters
TypeNameDescription
Entitiesentities
UpdateCallbackcallback
Returns
TypeDescription
void

upsert(entities)

upsert(entities: Entities): Promise<UpsertResponse>;
Parameter
TypeNameDescription
Entitiesentities
Returns
TypeDescription
Promise<UpsertResponse>

upsert(entities, callback)

upsert(entities: Entities, callback: UpsertCallback): void;
Parameters
TypeNameDescription
Entitiesentities
UpsertCallbackcallback
Returns
TypeDescription
void