v1. FirestoreAdminClient
Source: v1/
Operations are created by service FirestoreAdmin, but are accessed via
service google.longrunning.Operations.
Properties
Methods
- createIndex(request[, options][, callback])
- databasePath(project, database)
- deleteIndex(request[, options][, callback])
- exportDocuments(request[, options][, callback])
- fieldPath(project, database, collectionId, fieldId)
- getField(request[, options][, callback])
- getIndex(request[, options][, callback])
- getProjectId(callback)
- importDocuments(request[, options][, callback])
- indexPath(project, database, collectionId, indexId)
- listFields(request[, options][, callback])
- listFieldsStream(request[, options])
- listIndexes(request[, options][, callback])
- listIndexesStream(request[, options])
- matchCollectionIdFromFieldName(fieldName)
- matchCollectionIdFromIndexName(indexName)
- matchCollectionIdFromParentName(parentName)
- matchDatabaseFromDatabaseName(databaseName)
- matchDatabaseFromFieldName(fieldName)
- matchDatabaseFromIndexName(indexName)
- matchDatabaseFromParentName(parentName)
- matchFieldIdFromFieldName(fieldName)
- matchIndexIdFromIndexName(indexName)
- matchProjectFromDatabaseName(databaseName)
- matchProjectFromFieldName(fieldName)
- matchProjectFromIndexName(indexName)
- matchProjectFromParentName(parentName)
- parentPath(project, database, collectionId)
- updateField(request[, options][, callback])
new FirestoreAdminClient([options])
Construct an instance of FirestoreAdminClient.
Parameters
| Name | Type | Optional | Description | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
options |
|
Yes |
The configuration object. See the subsequent parameters for more details. Values in
|
Properties
apiEndpoint
The DNS address for this API service - same as servicePath(), exists for compatibility reasons.
port
The port for this API service.
scopes
The scopes needed to make gRPC calls for every method defined in this service.
servicePath
The DNS address for this API service.
Methods
createIndex(request[, options][, callback]) → Promise
Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
const formattedParent = client.parentPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]');
const index = {};
const request = {
parent: formattedParent,
index: index,
};
client.createIndex(request)
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||
|
callback |
function(nullable Error, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Operation. |
- Returns
-
Promise- The promise which resolves to an array. The first element of the array is an object representing Operation. The promise has a method named "cancel" which cancels the ongoing API call.
databasePath(project, database) → String
Return a fully-qualified database resource name string.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
project |
String |
|
|
|
database |
String |
|
- Returns
-
String
deleteIndex(request[, options][, callback]) → Promise
Deletes a composite index.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
const formattedName = client.indexPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]', '[INDEX_ID]');
client.deleteIndex({name: formattedName}).catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||
|
callback |
function(nullable Error) |
Yes |
The function which will be called with the result of the API call. |
- Returns
-
Promise- The promise which resolves when API call finishes. The promise has a method named "cancel" which cancels the ongoing API call.
exportDocuments(request[, options][, callback]) → Promise
Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
const formattedName = client.databasePath('[PROJECT]', '[DATABASE]');
client.exportDocuments({name: formattedName})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||||||
|
callback |
function(nullable Error, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Operation. |
- Returns
-
Promise- The promise which resolves to an array. The first element of the array is an object representing Operation. The promise has a method named "cancel" which cancels the ongoing API call.
fieldPath(project, database, collectionId, fieldId) → String
Return a fully-qualified field resource name string.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
project |
String |
|
|
|
database |
String |
|
|
|
collectionId |
String |
|
|
|
fieldId |
String |
|
- Returns
-
String
getField(request[, options][, callback]) → Promise
Gets the metadata and configuration for a Field.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
const formattedName = client.fieldPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]', '[FIELD_ID]');
client.getField({name: formattedName})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||
|
callback |
function(nullable Error, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Field. |
- Returns
-
Promise- The promise which resolves to an array. The first element of the array is an object representing Field. The promise has a method named "cancel" which cancels the ongoing API call.
getIndex(request[, options][, callback]) → Promise
Gets a composite index.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
const formattedName = client.indexPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]', '[INDEX_ID]');
client.getIndex({name: formattedName})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||
|
callback |
function(nullable Error, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Index. |
- Returns
-
Promise- The promise which resolves to an array. The first element of the array is an object representing Index. The promise has a method named "cancel" which cancels the ongoing API call.
getProjectId(callback)
Return the project ID used by this class.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
callback |
function(Error, string) |
|
the callback to be called with the current project Id. |
importDocuments(request[, options][, callback]) → Promise
Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
const formattedName = client.databasePath('[PROJECT]', '[DATABASE]');
client.importDocuments({name: formattedName})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||||||
|
callback |
function(nullable Error, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Operation. |
- Returns
-
Promise- The promise which resolves to an array. The first element of the array is an object representing Operation. The promise has a method named "cancel" which cancels the ongoing API call.
indexPath(project, database, collectionId, indexId) → String
Return a fully-qualified index resource name string.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
project |
String |
|
|
|
database |
String |
|
|
|
collectionId |
String |
|
|
|
indexId |
String |
|
- Returns
-
String
listFields(request[, options][, callback]) → Promise
Lists the field configuration and metadata for this database.
Currently, FirestoreAdmin.ListFields only supports listing fields
that have been explicitly overridden. To issue this query, call
FirestoreAdmin.ListFields with the filter set to
indexConfig.usesAncestorConfig:false.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
// Iterate over all elements.
const formattedParent = client.parentPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]');
client.listFields({parent: formattedParent})
.then(responses => {
const resources = responses[0];
for (const resource of resources) {
// doThingsWith(resource)
}
})
.catch(err => {
console.error(err);
});
// Or obtain the paged response.
const formattedParent = client.parentPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]');
const options = {autoPaginate: false};
const callback = responses => {
// The actual resources in a response.
const resources = responses[0];
// The next request if the response shows that there are more responses.
const nextRequest = responses[1];
// The actual response object, if necessary.
// const rawResponse = responses[2];
for (const resource of resources) {
// doThingsWith(resource);
}
if (nextRequest) {
// Fetch the next page.
return client.listFields(nextRequest, options).then(callback);
}
}
client.listFields({parent: formattedParent}, options)
.then(callback)
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||||||
|
callback |
function(nullable Error, nullable Array, nullable Object, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is Array of Field. When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListFieldsResponse. |
- Returns
-
Promise-
The promise which resolves to an array. The first element of the array is Array of Field.
When autoPaginate: false is specified through options, the array has three elements. The first element is Array of Field in a single response. The second element is the next request object if the response indicates the next page exists, or null. The third element is an object representing ListFieldsResponse.
The promise has a method named "cancel" which cancels the ongoing API call.
-
listFieldsStream(request[, options]) → Stream
Equivalent to listFields, but returns a NodeJS Stream object.
This fetches the paged responses for listFields continuously and invokes the callback registered for 'data' event for each element in the responses.
The returned object has 'end' method when no more elements are required.
autoPaginate option will be ignored.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
const formattedParent = client.parentPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]');
client.listFieldsStream({parent: formattedParent})
.on('data', element => {
// doThingsWith(element)
}).on('error', err => {
console.log(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
- See also
- https://nodejs.org/api/stream.html
- Returns
-
StreamAn object stream which emits an object representing Field on 'data' event.
listIndexes(request[, options][, callback]) → Promise
Lists composite indexes.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
// Iterate over all elements.
const formattedParent = client.parentPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]');
client.listIndexes({parent: formattedParent})
.then(responses => {
const resources = responses[0];
for (const resource of resources) {
// doThingsWith(resource)
}
})
.catch(err => {
console.error(err);
});
// Or obtain the paged response.
const formattedParent = client.parentPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]');
const options = {autoPaginate: false};
const callback = responses => {
// The actual resources in a response.
const resources = responses[0];
// The next request if the response shows that there are more responses.
const nextRequest = responses[1];
// The actual response object, if necessary.
// const rawResponse = responses[2];
for (const resource of resources) {
// doThingsWith(resource);
}
if (nextRequest) {
// Fetch the next page.
return client.listIndexes(nextRequest, options).then(callback);
}
}
client.listIndexes({parent: formattedParent}, options)
.then(callback)
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||||||
|
callback |
function(nullable Error, nullable Array, nullable Object, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is Array of Index. When autoPaginate: false is specified through options, it contains the result in a single response. If the response indicates the next page exists, the third parameter is set to be used for the next request object. The fourth parameter keeps the raw response object of an object representing ListIndexesResponse. |
- Returns
-
Promise-
The promise which resolves to an array. The first element of the array is Array of Index.
When autoPaginate: false is specified through options, the array has three elements. The first element is Array of Index in a single response. The second element is the next request object if the response indicates the next page exists, or null. The third element is an object representing ListIndexesResponse.
The promise has a method named "cancel" which cancels the ongoing API call.
-
listIndexesStream(request[, options]) → Stream
Equivalent to listIndexes, but returns a NodeJS Stream object.
This fetches the paged responses for listIndexes continuously and invokes the callback registered for 'data' event for each element in the responses.
The returned object has 'end' method when no more elements are required.
autoPaginate option will be ignored.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
const formattedParent = client.parentPath('[PROJECT]', '[DATABASE]', '[COLLECTION_ID]');
client.listIndexesStream({parent: formattedParent})
.on('data', element => {
// doThingsWith(element)
}).on('error', err => {
console.log(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
- See also
- https://nodejs.org/api/stream.html
- Returns
-
StreamAn object stream which emits an object representing Index on 'data' event.
matchCollectionIdFromFieldName(fieldName) → String
Parse the fieldName from a field resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
fieldName |
String |
|
A fully-qualified path representing a field resources. |
- Returns
-
String- A string representing the collection_id.
matchCollectionIdFromIndexName(indexName) → String
Parse the indexName from a index resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
indexName |
String |
|
A fully-qualified path representing a index resources. |
- Returns
-
String- A string representing the collection_id.
matchCollectionIdFromParentName(parentName) → String
Parse the parentName from a parent resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
parentName |
String |
|
A fully-qualified path representing a parent resources. |
- Returns
-
String- A string representing the collection_id.
matchDatabaseFromDatabaseName(databaseName) → String
Parse the databaseName from a database resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
databaseName |
String |
|
A fully-qualified path representing a database resources. |
- Returns
-
String- A string representing the database.
matchDatabaseFromFieldName(fieldName) → String
Parse the fieldName from a field resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
fieldName |
String |
|
A fully-qualified path representing a field resources. |
- Returns
-
String- A string representing the database.
matchDatabaseFromIndexName(indexName) → String
Parse the indexName from a index resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
indexName |
String |
|
A fully-qualified path representing a index resources. |
- Returns
-
String- A string representing the database.
matchDatabaseFromParentName(parentName) → String
Parse the parentName from a parent resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
parentName |
String |
|
A fully-qualified path representing a parent resources. |
- Returns
-
String- A string representing the database.
matchFieldIdFromFieldName(fieldName) → String
Parse the fieldName from a field resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
fieldName |
String |
|
A fully-qualified path representing a field resources. |
- Returns
-
String- A string representing the field_id.
matchIndexIdFromIndexName(indexName) → String
Parse the indexName from a index resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
indexName |
String |
|
A fully-qualified path representing a index resources. |
- Returns
-
String- A string representing the index_id.
matchProjectFromDatabaseName(databaseName) → String
Parse the databaseName from a database resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
databaseName |
String |
|
A fully-qualified path representing a database resources. |
- Returns
-
String- A string representing the project.
matchProjectFromFieldName(fieldName) → String
Parse the fieldName from a field resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
fieldName |
String |
|
A fully-qualified path representing a field resources. |
- Returns
-
String- A string representing the project.
matchProjectFromIndexName(indexName) → String
Parse the indexName from a index resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
indexName |
String |
|
A fully-qualified path representing a index resources. |
- Returns
-
String- A string representing the project.
matchProjectFromParentName(parentName) → String
Parse the parentName from a parent resource.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
parentName |
String |
|
A fully-qualified path representing a parent resources. |
- Returns
-
String- A string representing the project.
parentPath(project, database, collectionId) → String
Return a fully-qualified parent resource name string.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
project |
String |
|
|
|
database |
String |
|
|
|
collectionId |
String |
|
- Returns
-
String
updateField(request[, options][, callback]) → Promise
Updates a field configuration. Currently, field updates apply only to
single field index configuration. However, calls to
FirestoreAdmin.UpdateField should provide a field mask to avoid
changing any configuration that the caller isn't aware of. The field mask
should be specified as: { paths: "index_config" }.
This call returns a google.longrunning.Operation which may be used to track the status of the field update. The metadata for the operation will be the type FieldOperationMetadata.
To configure the default field settings for the database, use
the special Field with resource name:
projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*.
Example
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient({
// optional auth parameters.
});
const field = {};
client.updateField({field: field})
.then(responses => {
const response = responses[0];
// doThingsWith(response)
})
.catch(err => {
console.error(err);
});
Parameters
| Name | Type | Optional | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
request |
Object |
|
The request object that will be sent. Values in
|
||||||||||||
|
options |
Object |
Yes |
Optional parameters. You can override the default settings for this call, e.g, timeout, retries, paginations, etc. See gax.CallOptions for the details. |
||||||||||||
|
callback |
function(nullable Error, nullable Object) |
Yes |
The function which will be called with the result of the API call. The second parameter to the callback is an object representing Operation. |
- Returns
-
Promise- The promise which resolves to an array. The first element of the array is an object representing Operation. The promise has a method named "cancel" which cancels the ongoing API call.