GitHub Repository | Product Reference |
Service Description: The Cloud Firestore service.
Cloud Firestore is a fast, fully managed, serverless, cloud-native NoSQL document database that simplifies storing, syncing, and querying data for your mobile, web, and IoT apps at global scale. Its client libraries provide live synchronization and offline support, while its security features and integrations with Firebase and Google Cloud Platform accelerate building truly serverless apps.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
GetDocumentRequest request =
GetDocumentRequest.newBuilder()
.setName("name3373707")
.setMask(DocumentMask.newBuilder().build())
.build();
Document response = firestoreClient.getDocument(request);
}
Note: close() needs to be called on the FirestoreClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
Method | Description | Method Variants |
---|---|---|
GetDocument |
Gets a single document. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
ListDocuments |
Lists documents. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
UpdateDocument |
Updates or inserts a document. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
DeleteDocument |
Deletes a document. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
BatchGetDocuments |
Gets multiple documents. Documents returned by this method are not guaranteed to be returned in the same order that they were requested. |
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
BeginTransaction |
Starts a new transaction. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
Commit |
Commits a transaction, while optionally updating documents. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
Rollback |
Rolls back a transaction. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
RunQuery |
Runs a query. |
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
RunAggregationQuery |
Runs an aggregation query. Rather than producing Document results like Firestore.RunQuery, this API allows running an aggregation to produce a series of AggregationResult server-side. High-Level Example: |
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
PartitionQuery |
Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
Write |
Streams batches of document updates and deletes, in order. This method is only available via gRPC or WebChannel (not REST). |
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
Listen |
Listens to changes. This method is only available via gRPC or WebChannel (not REST). |
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
ListCollectionIds |
Lists all the collection IDs underneath a document. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
BatchWrite |
Applies a batch of write operations. The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the BatchWriteResponse for the success status of each write. If you require an atomically applied set of writes, use Commit instead. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
CreateDocument |
Creates a new document. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of FirestoreSettings to create(). For example:
To customize credentials:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
FirestoreSettings firestoreSettings =
FirestoreSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
FirestoreClient firestoreClient = FirestoreClient.create(firestoreSettings);
To customize the endpoint:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
FirestoreSettings firestoreSettings =
FirestoreSettings.newBuilder().setEndpoint(myEndpoint).build();
FirestoreClient firestoreClient = FirestoreClient.create(firestoreSettings);
To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
FirestoreSettings firestoreSettings = FirestoreSettings.newHttpJsonBuilder().build();
FirestoreClient firestoreClient = FirestoreClient.create(firestoreSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Static Methods
create()
public static final FirestoreClient create()
Constructs an instance of FirestoreClient with default settings.
Returns | |
---|---|
Type | Description |
FirestoreClient |
Exceptions | |
---|---|
Type | Description |
IOException |
create(FirestoreSettings settings)
public static final FirestoreClient create(FirestoreSettings settings)
Constructs an instance of FirestoreClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
Parameter | |
---|---|
Name | Description |
settings |
FirestoreSettings |
Returns | |
---|---|
Type | Description |
FirestoreClient |
Exceptions | |
---|---|
Type | Description |
IOException |
create(FirestoreStub stub)
public static final FirestoreClient create(FirestoreStub stub)
Constructs an instance of FirestoreClient, using the given stub for making calls. This is for advanced usage - prefer using create(FirestoreSettings).
Parameter | |
---|---|
Name | Description |
stub |
FirestoreStub |
Returns | |
---|---|
Type | Description |
FirestoreClient |
Constructors
FirestoreClient(FirestoreSettings settings)
protected FirestoreClient(FirestoreSettings settings)
Constructs an instance of FirestoreClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
Parameter | |
---|---|
Name | Description |
settings |
FirestoreSettings |
FirestoreClient(FirestoreStub stub)
protected FirestoreClient(FirestoreStub stub)
Parameter | |
---|---|
Name | Description |
stub |
FirestoreStub |
Methods
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)
Parameters | |
---|---|
Name | Description |
duration |
long |
unit |
TimeUnit |
Returns | |
---|---|
Type | Description |
boolean |
Exceptions | |
---|---|
Type | Description |
InterruptedException |
batchGetDocumentsCallable()
public final ServerStreamingCallable<BatchGetDocumentsRequest,BatchGetDocumentsResponse> batchGetDocumentsCallable()
Gets multiple documents.
Documents returned by this method are not guaranteed to be returned in the same order that they were requested.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
BatchGetDocumentsRequest request =
BatchGetDocumentsRequest.newBuilder()
.setDatabase("database1789464955")
.addAllDocuments(new ArrayList<String>())
.setMask(DocumentMask.newBuilder().build())
.build();
ServerStream<BatchGetDocumentsResponse> stream =
firestoreClient.batchGetDocumentsCallable().call(request);
for (BatchGetDocumentsResponse response : stream) {
// Do something when a response is received.
}
}
Returns | |
---|---|
Type | Description |
ServerStreamingCallable<BatchGetDocumentsRequest,BatchGetDocumentsResponse> |
batchWrite(BatchWriteRequest request)
public final BatchWriteResponse batchWrite(BatchWriteRequest request)
Applies a batch of write operations.
The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the BatchWriteResponse for the success status of each write.
If you require an atomically applied set of writes, use Commit instead.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
BatchWriteRequest request =
BatchWriteRequest.newBuilder()
.setDatabase("database1789464955")
.addAllWrites(new ArrayList<Write>())
.putAllLabels(new HashMap<String, String>())
.build();
BatchWriteResponse response = firestoreClient.batchWrite(request);
}
Parameter | |
---|---|
Name | Description |
request |
BatchWriteRequest The request object containing all of the parameters for the API call. |
Returns | |
---|---|
Type | Description |
BatchWriteResponse |
batchWriteCallable()
public final UnaryCallable<BatchWriteRequest,BatchWriteResponse> batchWriteCallable()
Applies a batch of write operations.
The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the BatchWriteResponse for the success status of each write.
If you require an atomically applied set of writes, use Commit instead.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
BatchWriteRequest request =
BatchWriteRequest.newBuilder()
.setDatabase("database1789464955")
.addAllWrites(new ArrayList<Write>())
.putAllLabels(new HashMap<String, String>())
.build();
ApiFuture<BatchWriteResponse> future =
firestoreClient.batchWriteCallable().futureCall(request);
// Do something.
BatchWriteResponse response = future.get();
}
Returns | |
---|---|
Type | Description |
UnaryCallable<BatchWriteRequest,BatchWriteResponse> |
beginTransaction(BeginTransactionRequest request)
public final BeginTransactionResponse beginTransaction(BeginTransactionRequest request)
Starts a new transaction.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
BeginTransactionRequest request =
BeginTransactionRequest.newBuilder()
.setDatabase("database1789464955")
.setOptions(TransactionOptions.newBuilder().build())
.build();
BeginTransactionResponse response = firestoreClient.beginTransaction(request);
}
Parameter | |
---|---|
Name | Description |
request |
BeginTransactionRequest The request object containing all of the parameters for the API call. |
Returns | |
---|---|
Type | Description |
BeginTransactionResponse |
beginTransaction(String database)
public final BeginTransactionResponse beginTransaction(String database)
Starts a new transaction.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
String database = "database1789464955";
BeginTransactionResponse response = firestoreClient.beginTransaction(database);
}
Parameter | |
---|---|
Name | Description |
database |
String Required. The database name. In the format:
|
Returns | |
---|---|
Type | Description |
BeginTransactionResponse |
beginTransactionCallable()
public final UnaryCallable<BeginTransactionRequest,BeginTransactionResponse> beginTransactionCallable()
Starts a new transaction.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
BeginTransactionRequest request =
BeginTransactionRequest.newBuilder()
.setDatabase("database1789464955")
.setOptions(TransactionOptions.newBuilder().build())
.build();
ApiFuture<BeginTransactionResponse> future =
firestoreClient.beginTransactionCallable().futureCall(request);
// Do something.
BeginTransactionResponse response = future.get();
}
Returns | |
---|---|
Type | Description |
UnaryCallable<BeginTransactionRequest,BeginTransactionResponse> |
close()
public final void close()
commit(CommitRequest request)
public final CommitResponse commit(CommitRequest request)
Commits a transaction, while optionally updating documents.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
CommitRequest request =
CommitRequest.newBuilder()
.setDatabase("database1789464955")
.addAllWrites(new ArrayList<Write>())
.setTransaction(ByteString.EMPTY)
.build();
CommitResponse response = firestoreClient.commit(request);
}
Parameter | |
---|---|
Name | Description |
request |
CommitRequest The request object containing all of the parameters for the API call. |
Returns | |
---|---|
Type | Description |
CommitResponse |
commit(String database, List<Write> writes)
public final CommitResponse commit(String database, List<Write> writes)
Commits a transaction, while optionally updating documents.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
String database = "database1789464955";
List<Write> writes = new ArrayList<>();
CommitResponse response = firestoreClient.commit(database, writes);
}
Parameters | |
---|---|
Name | Description |
database |
String Required. The database name. In the format:
|
writes |
List<Write> The writes to apply. Always executed atomically and in order. |
Returns | |
---|---|
Type | Description |
CommitResponse |
commitCallable()
public final UnaryCallable<CommitRequest,CommitResponse> commitCallable()
Commits a transaction, while optionally updating documents.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
CommitRequest request =
CommitRequest.newBuilder()
.setDatabase("database1789464955")
.addAllWrites(new ArrayList<Write>())
.setTransaction(ByteString.EMPTY)
.build();
ApiFuture<CommitResponse> future = firestoreClient.commitCallable().futureCall(request);
// Do something.
CommitResponse response = future.get();
}
Returns | |
---|---|
Type | Description |
UnaryCallable<CommitRequest,CommitResponse> |
createDocument(CreateDocumentRequest request)
public final Document createDocument(CreateDocumentRequest request)
Creates a new document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
CreateDocumentRequest request =
CreateDocumentRequest.newBuilder()
.setParent("parent-995424086")
.setCollectionId("collectionId1636075609")
.setDocumentId("documentId-814940266")
.setDocument(Document.newBuilder().build())
.setMask(DocumentMask.newBuilder().build())
.build();
Document response = firestoreClient.createDocument(request);
}
Parameter | |
---|---|
Name | Description |
request |
CreateDocumentRequest The request object containing all of the parameters for the API call. |
Returns | |
---|---|
Type | Description |
Document |
createDocumentCallable()
public final UnaryCallable<CreateDocumentRequest,Document> createDocumentCallable()
Creates a new document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
CreateDocumentRequest request =
CreateDocumentRequest.newBuilder()
.setParent("parent-995424086")
.setCollectionId("collectionId1636075609")
.setDocumentId("documentId-814940266")
.setDocument(Document.newBuilder().build())
.setMask(DocumentMask.newBuilder().build())
.build();
ApiFuture<Document> future = firestoreClient.createDocumentCallable().futureCall(request);
// Do something.
Document response = future.get();
}
Returns | |
---|---|
Type | Description |
UnaryCallable<CreateDocumentRequest,Document> |
deleteDocument(DeleteDocumentRequest request)
public final void deleteDocument(DeleteDocumentRequest request)
Deletes a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
DeleteDocumentRequest request =
DeleteDocumentRequest.newBuilder()
.setName("name3373707")
.setCurrentDocument(Precondition.newBuilder().build())
.build();
firestoreClient.deleteDocument(request);
}
Parameter | |
---|---|
Name | Description |
request |
DeleteDocumentRequest The request object containing all of the parameters for the API call. |
deleteDocument(String name)
public final void deleteDocument(String name)
Deletes a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
String name = "name3373707";
firestoreClient.deleteDocument(name);
}
Parameter | |
---|---|
Name | Description |
name |
String Required. The resource name of the Document to delete. In the format:
|
deleteDocumentCallable()
public final UnaryCallable<DeleteDocumentRequest,Empty> deleteDocumentCallable()
Deletes a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
DeleteDocumentRequest request =
DeleteDocumentRequest.newBuilder()
.setName("name3373707")
.setCurrentDocument(Precondition.newBuilder().build())
.build();
ApiFuture<Empty> future = firestoreClient.deleteDocumentCallable().futureCall(request);
// Do something.
future.get();
}
Returns | |
---|---|
Type | Description |
UnaryCallable<DeleteDocumentRequest,Empty> |
getDocument(GetDocumentRequest request)
public final Document getDocument(GetDocumentRequest request)
Gets a single document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
GetDocumentRequest request =
GetDocumentRequest.newBuilder()
.setName("name3373707")
.setMask(DocumentMask.newBuilder().build())
.build();
Document response = firestoreClient.getDocument(request);
}
Parameter | |
---|---|
Name | Description |
request |
GetDocumentRequest The request object containing all of the parameters for the API call. |
Returns | |
---|---|
Type | Description |
Document |
getDocumentCallable()
public final UnaryCallable<GetDocumentRequest,Document> getDocumentCallable()
Gets a single document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
GetDocumentRequest request =
GetDocumentRequest.newBuilder()
.setName("name3373707")
.setMask(DocumentMask.newBuilder().build())
.build();
ApiFuture<Document> future = firestoreClient.getDocumentCallable().futureCall(request);
// Do something.
Document response = future.get();
}
Returns | |
---|---|
Type | Description |
UnaryCallable<GetDocumentRequest,Document> |
getSettings()
public final FirestoreSettings getSettings()
Returns | |
---|---|
Type | Description |
FirestoreSettings |
getStub()
public FirestoreStub getStub()
Returns | |
---|---|
Type | Description |
FirestoreStub |
isShutdown()
public boolean isShutdown()
Returns | |
---|---|
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Returns | |
---|---|
Type | Description |
boolean |
listCollectionIds(ListCollectionIdsRequest request)
public final FirestoreClient.ListCollectionIdsPagedResponse listCollectionIds(ListCollectionIdsRequest request)
Lists all the collection IDs underneath a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
ListCollectionIdsRequest request =
ListCollectionIdsRequest.newBuilder()
.setParent("parent-995424086")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (String element : firestoreClient.listCollectionIds(request).iterateAll()) {
// doThingsWith(element);
}
}
Parameter | |
---|---|
Name | Description |
request |
ListCollectionIdsRequest The request object containing all of the parameters for the API call. |
Returns | |
---|---|
Type | Description |
FirestoreClient.ListCollectionIdsPagedResponse |
listCollectionIds(String parent)
public final FirestoreClient.ListCollectionIdsPagedResponse listCollectionIds(String parent)
Lists all the collection IDs underneath a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
String parent = "parent-995424086";
for (String element : firestoreClient.listCollectionIds(parent).iterateAll()) {
// doThingsWith(element);
}
}
Parameter | |
---|---|
Name | Description |
parent |
String Required. The parent document. In the format:
|
Returns | |
---|---|
Type | Description |
FirestoreClient.ListCollectionIdsPagedResponse |
listCollectionIdsCallable()
public final UnaryCallable<ListCollectionIdsRequest,ListCollectionIdsResponse> listCollectionIdsCallable()
Lists all the collection IDs underneath a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
ListCollectionIdsRequest request =
ListCollectionIdsRequest.newBuilder()
.setParent("parent-995424086")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListCollectionIdsResponse response =
firestoreClient.listCollectionIdsCallable().call(request);
for (String element : response.getCollectionIdsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Returns | |
---|---|
Type | Description |
UnaryCallable<ListCollectionIdsRequest,ListCollectionIdsResponse> |
listCollectionIdsPagedCallable()
public final UnaryCallable<ListCollectionIdsRequest,FirestoreClient.ListCollectionIdsPagedResponse> listCollectionIdsPagedCallable()
Lists all the collection IDs underneath a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
ListCollectionIdsRequest request =
ListCollectionIdsRequest.newBuilder()
.setParent("parent-995424086")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<String> future =
firestoreClient.listCollectionIdsPagedCallable().futureCall(request);
// Do something.
for (String element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Returns | |
---|---|
Type | Description |
UnaryCallable<ListCollectionIdsRequest,ListCollectionIdsPagedResponse> |
listDocuments(ListDocumentsRequest request)
public final FirestoreClient.ListDocumentsPagedResponse listDocuments(ListDocumentsRequest request)
Lists documents.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
ListDocumentsRequest request =
ListDocumentsRequest.newBuilder()
.setParent("parent-995424086")
.setCollectionId("collectionId1636075609")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setOrderBy("orderBy-1207110587")
.setMask(DocumentMask.newBuilder().build())
.setShowMissing(true)
.build();
for (Document element : firestoreClient.listDocuments(request).iterateAll()) {
// doThingsWith(element);
}
}
Parameter | |
---|---|
Name | Description |
request |
ListDocumentsRequest The request object containing all of the parameters for the API call. |
Returns | |
---|---|
Type | Description |
FirestoreClient.ListDocumentsPagedResponse |
listDocumentsCallable()
public final UnaryCallable<ListDocumentsRequest,ListDocumentsResponse> listDocumentsCallable()
Lists documents.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
ListDocumentsRequest request =
ListDocumentsRequest.newBuilder()
.setParent("parent-995424086")
.setCollectionId("collectionId1636075609")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setOrderBy("orderBy-1207110587")
.setMask(DocumentMask.newBuilder().build())
.setShowMissing(true)
.build();
while (true) {
ListDocumentsResponse response = firestoreClient.listDocumentsCallable().call(request);
for (Document element : response.getDocumentsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Returns | |
---|---|
Type | Description |
UnaryCallable<ListDocumentsRequest,ListDocumentsResponse> |
listDocumentsPagedCallable()
public final UnaryCallable<ListDocumentsRequest,FirestoreClient.ListDocumentsPagedResponse> listDocumentsPagedCallable()
Lists documents.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
ListDocumentsRequest request =
ListDocumentsRequest.newBuilder()
.setParent("parent-995424086")
.setCollectionId("collectionId1636075609")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setOrderBy("orderBy-1207110587")
.setMask(DocumentMask.newBuilder().build())
.setShowMissing(true)
.build();
ApiFuture<Document> future = firestoreClient.listDocumentsPagedCallable().futureCall(request);
// Do something.
for (Document element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Returns | |
---|---|
Type | Description |
UnaryCallable<ListDocumentsRequest,ListDocumentsPagedResponse> |
listenCallable()
public final BidiStreamingCallable<ListenRequest,ListenResponse> listenCallable()
Listens to changes. This method is only available via gRPC or WebChannel (not REST).
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
BidiStream<ListenRequest, ListenResponse> bidiStream =
firestoreClient.listenCallable().call();
ListenRequest request =
ListenRequest.newBuilder()
.setDatabase("database1789464955")
.putAllLabels(new HashMap<String, String>())
.build();
bidiStream.send(request);
for (ListenResponse response : bidiStream) {
// Do something when a response is received.
}
}
Returns | |
---|---|
Type | Description |
BidiStreamingCallable<ListenRequest,ListenResponse> |
partitionQuery(PartitionQueryRequest request)
public final FirestoreClient.PartitionQueryPagedResponse partitionQuery(PartitionQueryRequest request)
Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
PartitionQueryRequest request =
PartitionQueryRequest.newBuilder()
.setParent("parent-995424086")
.setPartitionCount(-1738969222)
.setPageToken("pageToken873572522")
.setPageSize(883849137)
.build();
for (Cursor element : firestoreClient.partitionQuery(request).iterateAll()) {
// doThingsWith(element);
}
}
Parameter | |
---|---|
Name | Description |
request |
PartitionQueryRequest The request object containing all of the parameters for the API call. |
Returns | |
---|---|
Type | Description |
FirestoreClient.PartitionQueryPagedResponse |
partitionQueryCallable()
public final UnaryCallable<PartitionQueryRequest,PartitionQueryResponse> partitionQueryCallable()
Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
PartitionQueryRequest request =
PartitionQueryRequest.newBuilder()
.setParent("parent-995424086")
.setPartitionCount(-1738969222)
.setPageToken("pageToken873572522")
.setPageSize(883849137)
.build();
while (true) {
PartitionQueryResponse response = firestoreClient.partitionQueryCallable().call(request);
for (Cursor element : response.getPartitionsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Returns | |
---|---|
Type | Description |
UnaryCallable<PartitionQueryRequest,PartitionQueryResponse> |
partitionQueryPagedCallable()
public final UnaryCallable<PartitionQueryRequest,FirestoreClient.PartitionQueryPagedResponse> partitionQueryPagedCallable()
Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
PartitionQueryRequest request =
PartitionQueryRequest.newBuilder()
.setParent("parent-995424086")
.setPartitionCount(-1738969222)
.setPageToken("pageToken873572522")
.setPageSize(883849137)
.build();
ApiFuture<Cursor> future = firestoreClient.partitionQueryPagedCallable().futureCall(request);
// Do something.
for (Cursor element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Returns | |
---|---|
Type | Description |
UnaryCallable<PartitionQueryRequest,PartitionQueryPagedResponse> |
rollback(RollbackRequest request)
public final void rollback(RollbackRequest request)
Rolls back a transaction.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
RollbackRequest request =
RollbackRequest.newBuilder()
.setDatabase("database1789464955")
.setTransaction(ByteString.EMPTY)
.build();
firestoreClient.rollback(request);
}
Parameter | |
---|---|
Name | Description |
request |
RollbackRequest The request object containing all of the parameters for the API call. |
rollback(String database, ByteString transaction)
public final void rollback(String database, ByteString transaction)
Rolls back a transaction.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
String database = "database1789464955";
ByteString transaction = ByteString.EMPTY;
firestoreClient.rollback(database, transaction);
}
Parameters | |
---|---|
Name | Description |
database |
String Required. The database name. In the format:
|
transaction |
ByteString Required. The transaction to roll back. |
rollbackCallable()
public final UnaryCallable<RollbackRequest,Empty> rollbackCallable()
Rolls back a transaction.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
RollbackRequest request =
RollbackRequest.newBuilder()
.setDatabase("database1789464955")
.setTransaction(ByteString.EMPTY)
.build();
ApiFuture<Empty> future = firestoreClient.rollbackCallable().futureCall(request);
// Do something.
future.get();
}
Returns | |
---|---|
Type | Description |
UnaryCallable<RollbackRequest,Empty> |
runAggregationQueryCallable()
public final ServerStreamingCallable<RunAggregationQueryRequest,RunAggregationQueryResponse> runAggregationQueryCallable()
Runs an aggregation query.
Rather than producing Document results like Firestore.RunQuery, this API allows running an aggregation to produce a series of AggregationResult server-side.
High-Level Example:
<code><code> -- Return the number of documents in table given a filter. SELECT COUNT(*) FROM (
SELECT * FROM k where a = true ); </code></code>
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
RunAggregationQueryRequest request =
RunAggregationQueryRequest.newBuilder()
.setParent("parent-995424086")
.setExplainOptions(ExplainOptions.newBuilder().build())
.build();
ServerStream<RunAggregationQueryResponse> stream =
firestoreClient.runAggregationQueryCallable().call(request);
for (RunAggregationQueryResponse response : stream) {
// Do something when a response is received.
}
}
Returns | |
---|---|
Type | Description |
ServerStreamingCallable<RunAggregationQueryRequest,RunAggregationQueryResponse> |
runQueryCallable()
public final ServerStreamingCallable<RunQueryRequest,RunQueryResponse> runQueryCallable()
Runs a query.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
RunQueryRequest request =
RunQueryRequest.newBuilder()
.setParent("parent-995424086")
.setExplainOptions(ExplainOptions.newBuilder().build())
.build();
ServerStream<RunQueryResponse> stream = firestoreClient.runQueryCallable().call(request);
for (RunQueryResponse response : stream) {
// Do something when a response is received.
}
}
Returns | |
---|---|
Type | Description |
ServerStreamingCallable<RunQueryRequest,RunQueryResponse> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()
updateDocument(Document document, DocumentMask updateMask)
public final Document updateDocument(Document document, DocumentMask updateMask)
Updates or inserts a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
Document document = Document.newBuilder().build();
DocumentMask updateMask = DocumentMask.newBuilder().build();
Document response = firestoreClient.updateDocument(document, updateMask);
}
Parameters | |
---|---|
Name | Description |
document |
Document Required. The updated document. Creates the document if it does not already exist. |
updateMask |
DocumentMask The fields to update. None of the field paths in the mask may contain a reserved name. If the document exists on the server and has fields not referenced in the mask, they are left unchanged. Fields referenced in the mask, but not present in the input document, are deleted from the document on the server. |
Returns | |
---|---|
Type | Description |
Document |
updateDocument(UpdateDocumentRequest request)
public final Document updateDocument(UpdateDocumentRequest request)
Updates or inserts a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
UpdateDocumentRequest request =
UpdateDocumentRequest.newBuilder()
.setDocument(Document.newBuilder().build())
.setUpdateMask(DocumentMask.newBuilder().build())
.setMask(DocumentMask.newBuilder().build())
.setCurrentDocument(Precondition.newBuilder().build())
.build();
Document response = firestoreClient.updateDocument(request);
}
Parameter | |
---|---|
Name | Description |
request |
UpdateDocumentRequest The request object containing all of the parameters for the API call. |
Returns | |
---|---|
Type | Description |
Document |
updateDocumentCallable()
public final UnaryCallable<UpdateDocumentRequest,Document> updateDocumentCallable()
Updates or inserts a document.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
UpdateDocumentRequest request =
UpdateDocumentRequest.newBuilder()
.setDocument(Document.newBuilder().build())
.setUpdateMask(DocumentMask.newBuilder().build())
.setMask(DocumentMask.newBuilder().build())
.setCurrentDocument(Precondition.newBuilder().build())
.build();
ApiFuture<Document> future = firestoreClient.updateDocumentCallable().futureCall(request);
// Do something.
Document response = future.get();
}
Returns | |
---|---|
Type | Description |
UnaryCallable<UpdateDocumentRequest,Document> |
writeCallable()
public final BidiStreamingCallable<WriteRequest,WriteResponse> writeCallable()
Streams batches of document updates and deletes, in order. This method is only available via gRPC or WebChannel (not REST).
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (FirestoreClient firestoreClient = FirestoreClient.create()) {
BidiStream<WriteRequest, WriteResponse> bidiStream = firestoreClient.writeCallable().call();
WriteRequest request =
WriteRequest.newBuilder()
.setDatabase("database1789464955")
.setStreamId("streamId1790933179")
.addAllWrites(new ArrayList<Write>())
.setStreamToken(ByteString.EMPTY)
.putAllLabels(new HashMap<String, String>())
.build();
bidiStream.send(request);
for (WriteResponse response : bidiStream) {
// Do something when a response is received.
}
}
Returns | |
---|---|
Type | Description |
BidiStreamingCallable<WriteRequest,WriteResponse> |