Idiomatic class for interacting with Cloud Datastore. Uses the lower-level DatastoreClient class under the hood.
In addition to the constructor options shown here, the Datastore class constructor accepts the same options accepted by DatastoreClient.
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
.
See Cloud Datastore Concepts Overview
Inheritance
DatastoreRequest
>
Datastore
Package
@google-cloud/datastore
Constructors
(constructor)(options)
constructor(options?: DatastoreOptions);
Constructs a new instance of the Datastore
class
Parameter
Properties
auth
Property Value
Type | Description |
GoogleAuth | |
baseUrl_
Property Value
clients_
clients_: Map<string, ClientStub>;
Property Value
Type | Description |
Map<string, ClientStub> | |
customEndpoint_
customEndpoint_?: boolean;
Property Value
DatastoreRequest
DatastoreRequest: typeof DatastoreRequest;
DatastoreRequest class.
Datastore.DatastoreRequest DatastoreRequest {constructor}
Property Value
Type | Description |
typeof DatastoreRequest | |
defaultBaseUrl_
Property Value
KEY
KEY: typeof entity.KEY_SYMBOL;
Property Value
Type | Description |
typeof entity.KEY_SYMBOL | |
KEY
static KEY: typeof entity.KEY_SYMBOL;
Access the Key from an Entity object.
Datastore#KEY {symbol}
Property Value
Type | Description |
typeof entity.KEY_SYMBOL | |
MORE_RESULTS_AFTER_CURSOR
MORE_RESULTS_AFTER_CURSOR: string;
Property Value
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
MORE_RESULTS_AFTER_LIMIT
MORE_RESULTS_AFTER_LIMIT: string;
Property Value
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
namespace
Property Value
NO_MORE_RESULTS
Property Value
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
options
options: DatastoreOptions;
Property Value
port_
Property Value
Query
Query class.
Datastore.Query Query {constructor}
Property Value
Type | Description |
typeof Query | |
Transaction
Transaction: typeof Transaction;
Transaction class.
Datastore.Transaction Transaction {constructor}
Property Value
Type | Description |
typeof Transaction | |
Methods
createQuery(kind)
createQuery(kind?: string): Query;
Parameter
Name | Description |
kind |
string
|
Returns
createQuery(kind)
createQuery(kind?: string[]): Query;
Parameter
Name | Description |
kind |
string[]
|
Returns
createQuery(namespace, kind)
createQuery(namespace: string, kind: string): Query;
Parameters
Name | Description |
namespace |
string
|
kind |
string
|
Returns
createQuery(namespace, kind)
createQuery(namespace: string, kind: string[]): Query;
Parameters
Name | Description |
namespace |
string
|
kind |
string[]
|
Returns
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
Name | Description |
customApiEndpoint |
string
Custom API endpoint.
|
Returns
double(value)
double(value: number): entity.Double;
Parameter
Name | Description |
value |
number
|
Returns
Type | Description |
entity.Double | |
double(value)
static double(value: number): entity.Double;
Helper function to get a Datastore Double object.
Parameter
Name | Description |
value |
number
The double value.
|
Returns
Type | Description |
entity.Double | {object}
|
export(config)
export(config: ExportEntitiesConfig): Promise<LongRunningResponse>;
Parameter
Returns
export(config, callback)
export(config: ExportEntitiesConfig, callback: LongRunningCallback): void;
Parameters
Returns
geoPoint(coordinates)
geoPoint(coordinates: entity.Coordinates): entity.GeoPoint;
Parameter
Name | Description |
coordinates |
entity.Coordinates
|
Returns
Type | Description |
entity.GeoPoint | |
geoPoint(coordinates)
static geoPoint(coordinates: entity.Coordinates): entity.GeoPoint;
Helper function to get a Datastore Geo Point object.
Parameter
Name | Description |
coordinates |
entity.Coordinates
Coordinate value.
|
Returns
Type | Description |
entity.GeoPoint | {object}
|
getIndexes(options)
getIndexes(options?: GetIndexesOptions): Promise<GetIndexesResponse>;
Parameter
Name | Description |
options |
GetIndexesOptions
|
Returns
Type | Description |
Promise<GetIndexesResponse> | |
getIndexes(options, callback)
getIndexes(options: GetIndexesOptions, callback: GetIndexesCallback): void;
Parameters
Name | Description |
options |
GetIndexesOptions
|
callback |
GetIndexesCallback
|
Returns
getIndexes(callback)
getIndexes(callback: GetIndexesCallback): void;
Parameter
Name | Description |
callback |
GetIndexesCallback
|
Returns
getIndexesStream(options)
getIndexesStream(options?: GetIndexesOptions): NodeJS.ReadableStream;
Get all of the indexes in this project as a readable object stream.
Parameter
Name | Description |
options |
GetIndexesOptions
Configuration object. See for a complete list of options.
|
Returns
Type | Description |
NodeJS.ReadableStream | {ReadableStream
|
getProjectId()
getProjectId(): Promise<string>;
Returns
Type | Description |
Promise<string> | |
import(config)
import(config: ImportEntitiesConfig): Promise<LongRunningResponse>;
Parameter
Returns
import(config, callback)
import(config: ImportEntitiesConfig, callback: LongRunningCallback): void;
Parameters
Returns
index(id)
index(id: string): Index;
Get a reference to an Index.
Parameter
Name | Description |
id |
string
The index name or id.
|
Returns
Type | Description |
Index | {Index}
|
insert(entities)
insert(entities: Entities): Promise<InsertResponse>;
Parameter
Name | Description |
entities |
Entities
|
Returns
insert(entities, callback)
insert(entities: Entities, callback: InsertCallback): void;
Parameters
Returns
int(value)
int(value: number | string): entity.Int;
Parameter
Name | Description |
value |
number | string
|
Returns
Type | Description |
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
Name | Description |
value |
number | string
The integer value.
|
Returns
Type | Description |
entity.Int | {object}
|
isDouble(value)
isDouble(value?: {}): boolean;
Parameter
Returns
isDouble(value)
static isDouble(value?: {}): boolean;
Helper function to check if something is a Datastore Double object.
Parameter
Returns
Type | Description |
boolean | {boolean}
|
isGeoPoint(value)
isGeoPoint(value?: {}): boolean;
Parameter
Returns
isGeoPoint(value)
static isGeoPoint(value?: {}): boolean;
Helper function to check if something is a Datastore Geo Point object.
Parameter
Returns
Type | Description |
boolean | {boolean}
|
isInt(value)
isInt(value?: {}): boolean;
Parameter
Returns
isInt(value)
static isInt(value?: {}): boolean;
Helper function to check if something is a Datastore Integer object.
Parameter
Returns
Type | Description |
boolean | {boolean}
|
isKey(value)
isKey(value?: {}): boolean;
Parameter
Returns
isKey(value)
static isKey(value?: {}): boolean;
Helper function to check if something is a Datastore Key object.
Parameter
Returns
Type | Description |
boolean | {boolean}
|
key(options)
key(options: entity.KeyOptions): entity.Key;
Parameter
Name | Description |
options |
KeyOptions
|
Returns
Type | Description |
entity.Key | |
key(path)
key(path: PathType[]): entity.Key;
Parameter
Returns
Type | Description |
entity.Key | |
key(path)
key(path: string): entity.Key;
Parameter
Name | Description |
path |
string
|
Returns
Type | Description |
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
Name | Description |
key |
string
Entity key object.
|
Returns
Type | Description |
entity.Key | {string} Created urlsafe key.
|
keyToLegacyUrlSafe(key, locationPrefix)
keyToLegacyUrlSafe(key: entity.Key, locationPrefix?: string): Promise<string>;
Parameters
Name | Description |
key |
entity.Key
|
locationPrefix |
string
|
Returns
Type | Description |
Promise<string> | |
keyToLegacyUrlSafe(key, callback)
keyToLegacyUrlSafe(key: entity.Key, callback: KeyToLegacyUrlSafeCallback): void;
Parameters
Returns
keyToLegacyUrlSafe(key, locationPrefix, callback)
keyToLegacyUrlSafe(key: entity.Key, locationPrefix: string, callback: KeyToLegacyUrlSafeCallback): void;
Parameters
Returns
save(entities, gaxOptions)
save(entities: Entities, gaxOptions?: CallOptions): Promise<SaveResponse>;
Parameters
Name | Description |
entities |
Entities
|
gaxOptions |
CallOptions
|
Returns
Type | Description |
Promise<SaveResponse> | |
save(entities, gaxOptions, callback)
save(entities: Entities, gaxOptions: CallOptions, callback: SaveCallback): void;
Parameters
Name | Description |
entities |
Entities
|
gaxOptions |
CallOptions
|
callback |
SaveCallback
|
Returns
save(entities, callback)
save(entities: Entities, callback: SaveCallback): void;
Parameters
Name | Description |
entities |
Entities
|
callback |
SaveCallback
|
Returns
transaction(options)
transaction(options?: TransactionOptions): Transaction;
Create a new Transaction object.
Parameter
Returns
Type | Description |
Transaction | {Transaction}
|
update(entities)
update(entities: Entities): Promise<UpdateResponse>;
Parameter
Name | Description |
entities |
Entities
|
Returns
update(entities, callback)
update(entities: Entities, callback: UpdateCallback): void;
Parameters
Returns
upsert(entities)
upsert(entities: Entities): Promise<UpsertResponse>;
Parameter
Name | Description |
entities |
Entities
|
Returns
upsert(entities, callback)
upsert(entities: Entities, callback: UpsertCallback): void;
Parameters
Returns