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
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
Type | Name | Description |
---|
string | kind |
|
Returns
createQuery(kind)
createQuery(kind?: string[]): Query;
Parameter
Type | Name | Description |
---|
string[] | kind |
|
Returns
createQuery(namespace, kind)
createQuery(namespace: string, kind: string): Query;
Parameters
Type | Name | Description |
---|
string | namespace |
|
string | kind |
|
Returns
createQuery(namespace, kind)
createQuery(namespace: string, kind: string[]): Query;
Parameters
Type | Name | Description |
---|
string | namespace |
|
string[] | kind |
|
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
Type | Name | Description |
---|
string | customApiEndpoint |
Custom API endpoint.
|
Returns
double(value)
double(value: number): entity.Double;
Parameter
Type | Name | Description |
---|
number | value |
|
Returns
Type | Description |
---|
entity.Double | |
double(value)
static double(value: number): entity.Double;
Helper function to get a Datastore Double object.
Parameter
Type | Name | Description |
---|
number | value |
The double value.
|
Returns
Type | Description |
---|
entity.Double | {object}
|
export(config)
export(config: ExportEntitiesConfig): Promise<LongRunningResponse>;
Parameter
Returns
Type | Description |
---|
Promise<LongRunningResponse> | |
export(config, callback)
export(config: ExportEntitiesConfig, callback: LongRunningCallback): void;
Parameters
Returns
geoPoint(coordinates)
geoPoint(coordinates: entity.Coordinates): entity.GeoPoint;
Parameter
Type | Name | Description |
---|
entity.Coordinates | 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
Type | Name | Description |
---|
entity.Coordinates | coordinates |
Coordinate value.
|
Returns
Type | Description |
---|
entity.GeoPoint | {object}
|
getIndexes(options)
getIndexes(options?: GetIndexesOptions): Promise<GetIndexesResponse>;
Parameter
Type | Name | Description |
---|
GetIndexesOptions | options |
|
Returns
Type | Description |
---|
Promise<GetIndexesResponse> | |
getIndexes(options, callback)
getIndexes(options: GetIndexesOptions, callback: GetIndexesCallback): void;
Parameters
Type | Name | Description |
---|
GetIndexesOptions | options |
|
GetIndexesCallback | callback |
|
Returns
getIndexes(callback)
getIndexes(callback: GetIndexesCallback): void;
Parameter
Type | Name | Description |
---|
GetIndexesCallback | callback |
|
Returns
getIndexesStream(options)
getIndexesStream(options?: GetIndexesOptions): NodeJS.ReadableStream;
Get all of the indexes in this project as a readable object stream.
Parameter
Type | Name | Description |
---|
GetIndexesOptions | options |
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
Type | Description |
---|
Promise<LongRunningResponse> | |
import(config, callback)
import(config: ImportEntitiesConfig, callback: LongRunningCallback): void;
Parameters
Returns
index(id)
index(id: string): Index;
Get a reference to an Index.
Parameter
Type | Name | Description |
---|
string | id |
The index name or id.
|
Returns
Type | Description |
---|
Index | {Index}
|
insert(entities)
insert(entities: Entities): Promise<InsertResponse>;
Parameter
Type | Name | Description |
---|
Entities | entities |
|
Returns
Type | Description |
---|
Promise<InsertResponse> | |
insert(entities, callback)
insert(entities: Entities, callback: InsertCallback): void;
Parameters
Type | Name | Description |
---|
Entities | entities |
|
InsertCallback | callback |
|
Returns
int(value)
int(value: number | string): entity.Int;
Parameter
Type | Name | Description |
---|
number | string | value |
|
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
Type | Name | Description |
---|
number | string | value |
The integer value.
|
Returns
Type | Description |
---|
entity.Int | {object}
|
isDouble(value)
isDouble(value?: {}): boolean;
Parameter
Type | Name | Description |
---|
{} | value |
|
Returns
isDouble(value)
static isDouble(value?: {}): boolean;
Helper function to check if something is a Datastore Double object.
Parameter
Type | Name | Description |
---|
{} | value |
|
Returns
Type | Description |
---|
boolean | {boolean}
|
isGeoPoint(value)
isGeoPoint(value?: {}): boolean;
Parameter
Type | Name | Description |
---|
{} | value |
|
Returns
isGeoPoint(value)
static isGeoPoint(value?: {}): boolean;
Helper function to check if something is a Datastore Geo Point object.
Parameter
Type | Name | Description |
---|
{} | value |
|
Returns
Type | Description |
---|
boolean | {boolean}
|
isInt(value)
isInt(value?: {}): boolean;
Parameter
Type | Name | Description |
---|
{} | value |
|
Returns
isInt(value)
static isInt(value?: {}): boolean;
Helper function to check if something is a Datastore Integer object.
Parameter
Type | Name | Description |
---|
{} | value |
|
Returns
Type | Description |
---|
boolean | {boolean}
|
isKey(value)
isKey(value?: {}): boolean;
Parameter
Type | Name | Description |
---|
{} | value |
|
Returns
isKey(value)
static isKey(value?: {}): boolean;
Helper function to check if something is a Datastore Key object.
Parameter
Type | Name | Description |
---|
{} | value |
|
Returns
Type | Description |
---|
boolean | {boolean}
|
key(options)
key(options: entity.KeyOptions): entity.Key;
Parameter
Type | Name | Description |
---|
entity.KeyOptions | options |
|
Returns
Type | Description |
---|
entity.Key | |
key(path)
key(path: PathType[]): entity.Key;
Parameter
Type | Name | Description |
---|
PathType[] | path |
|
Returns
Type | Description |
---|
entity.Key | |
key(path)
key(path: string): entity.Key;
Parameter
Type | Name | Description |
---|
string | path |
|
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
Type | Name | Description |
---|
string | key |
Entity key object.
|
Returns
Type | Description |
---|
entity.Key | {string} Created urlsafe key.
|
keyToLegacyUrlSafe(key, locationPrefix)
keyToLegacyUrlSafe(key: entity.Key, locationPrefix?: string): Promise<string>;
Parameters
Type | Name | Description |
---|
entity.Key | key |
|
string | locationPrefix |
|
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
Type | Name | Description |
---|
Entities | entities |
|
CallOptions | gaxOptions |
|
Returns
Type | Description |
---|
Promise<SaveResponse> | |
save(entities, gaxOptions, callback)
save(entities: Entities, gaxOptions: CallOptions, callback: SaveCallback): void;
Parameters
Type | Name | Description |
---|
Entities | entities |
|
CallOptions | gaxOptions |
|
SaveCallback | callback |
|
Returns
save(entities, callback)
save(entities: Entities, callback: SaveCallback): void;
Parameters
Type | Name | Description |
---|
Entities | entities |
|
SaveCallback | callback |
|
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
Type | Name | Description |
---|
Entities | entities |
|
Returns
Type | Description |
---|
Promise<UpdateResponse> | |
update(entities, callback)
update(entities: Entities, callback: UpdateCallback): void;
Parameters
Type | Name | Description |
---|
Entities | entities |
|
UpdateCallback | callback |
|
Returns
upsert(entities)
upsert(entities: Entities): Promise<UpsertResponse>;
Parameter
Type | Name | Description |
---|
Entities | entities |
|
Returns
Type | Description |
---|
Promise<UpsertResponse> | |
upsert(entities, callback)
upsert(entities: Entities, callback: UpsertCallback): void;
Parameters
Type | Name | Description |
---|
Entities | entities |
|
UpsertCallback | callback |
|
Returns