delete method
Deletes a document.
Request parameters:
name - Required. The resource name of the Document to delete. In the
format:
projects/{project_id}/databases/{database_id}/documents/{document_path}.
Value must have pattern
^projects/\[^/\]+/databases/\[^/\]+/documents/\[^/\]+/.*$.
currentDocument_exists - When set to true, the target document must
exist. When set to false, the target document must not exist.
currentDocument_updateTime - When set, the target document must exist
and have been last updated at that time. Timestamp must be microsecond
aligned.
requestOptions_requestTags - Optional. The request tags for the request.
Request tags are user-provided strings used for usage monitoring, cost
management, and observability. Callers can associate custom application
context (such as component, microservice, feature name, or operation type)
with database requests. These tags are collected and aggregated in usage
and monitoring reports, allowing billable operations and usage metrics to
be sliced and analyzed by tag. These tags only show up in monitoring and
are visible in administrative operations (such as usage reports). They do
not affect data storage, query semantics, or request execution.
Cardinality and Best Practices: - Request tags are most effective when
using a bounded set of distinct values (e.g., fewer than 100 distinct tags
across an entire database). Using a large number of distinct tags may
result in tags being omitted from top usage dashboards. - Use structured
identifiers (for example: app=cart, env=prod, service=checkout) and
avoid high-cardinality values such as UUIDs, request IDs, timestamps, user
IDs, or document keys. - Do not include sensitive data or personally
identifiable information (PII) in request tags, as they show up in
administrative monitoring. The tags are processed as follows: - Leading
and trailing whitespace is trimmed. - Empty tags (after trimming) are
filtered out. - Truncated to a maximum of 510 characters. - Deduplicated
within the same request. - Limited to a maximum of 50 tags per request
(excess tags are silently discarded).
$fields - Selector specifying which fields to include in a partial
response.
Completes with a Empty.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<Empty> delete(
core.String name, {
core.bool? currentDocument_exists,
core.String? currentDocument_updateTime,
core.List<core.String>? requestOptions_requestTags,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
'currentDocument.exists': ?currentDocument_exists == null
? null
: ['${currentDocument_exists}'],
'currentDocument.updateTime': ?currentDocument_updateTime == null
? null
: [currentDocument_updateTime],
'requestOptions.requestTags': ?requestOptions_requestTags,
'fields': ?$fields == null ? null : [$fields],
};
final url_ = 'v1/' + core.Uri.encodeFull('$name');
final response_ = await _requester.request(
url_,
'DELETE',
queryParams: queryParams_,
);
return Empty.fromJson(response_ as core.Map<core.String, core.dynamic>);
}