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 (GCP) accelerate
building truly serverless apps.
Constructor
new FirestoreClient(optionsopt)
Construct an instance of FirestoreClient.
Parameters:
Name
Type
Attributes
Description
options
object
<optional>
The configuration object. See the subsequent
parameters for more details.
Properties
Name
Type
Attributes
Description
credentials
object
<optional>
Credentials object.
Properties
Name
Type
Attributes
Description
client_email
string
<optional>
private_key
string
<optional>
email
string
<optional>
Account email address. Required when
using a .pem or .p12 keyFilename.
keyFilename
string
<optional>
Full path to the a .json, .pem, or
.p12 key downloaded from the Google Developers Console. If you provide
a path to a JSON file, the projectId option below is not necessary.
NOTE: .pem and .p12 require you to specify options.email as well.
port
number
<optional>
The port on which to connect to
the remote host.
projectId
string
<optional>
The project ID from the Google
Developer's Console, e.g. 'grape-spaceship-123'. We will also check
the environment variable GCLOUD_PROJECT for your project ID. If your
app is running in an environment which supports
Application Default Credentials,
your project ID will be detected automatically.
promise
function
<optional>
Custom promise module to use instead
of native Promises.
Documents returned by this method are not guaranteed to be returned in the
same order that they were requested.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Description
database
string
Required. The database name. In the format:
projects/{project_id}/databases/{database_id}.
documents
Array.<string>
The names of the documents to retrieve. In the format:
projects/{project_id}/databases/{database_id}/documents/{document_path}.
The request will fail if any of the document is not a child resource of the
given database. Duplicate names will be elided.
mask
google.firestore.v1.DocumentMask
The fields to return. If not set, returns all fields.
If a document has a field that is not present in this mask, that field will
not be returned in the response.
transaction
Buffer
Reads documents in a transaction.
newTransaction
google.firestore.v1.TransactionOptions
Starts a new transaction and reads the documents.
Defaults to a read-only transaction.
The new transaction ID will be returned as the first response in the
stream.
readTime
google.protobuf.Timestamp
Reads documents as they were at the given time.
This may not be older than 60 seconds.
Required. The parent resource. For example:
projects/{project_id}/databases/{database_id}/documents or
projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}
collectionId
string
Required. The collection ID, relative to parent, to list. For example: chatrooms.
documentId
string
The client-assigned document ID to use for this document.
Optional. If not specified, an ID will be assigned by the service.
document
google.firestore.v1.Document
Required. The document to create. name must not be set.
mask
google.firestore.v1.DocumentMask
The fields to return. If not set, returns all fields.
If the document has a field that is not present in this mask, that field
will not be returned in the response.
Lists all the collection IDs underneath a document.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Description
parent
string
Required. The parent document. In the format:
projects/{project_id}/databases/{database_id}/documents/{document_path}.
For example:
projects/my-project/databases/my-database/documents/chatrooms/my-chatroom
pageSize
number
The maximum number of results to return.
pageToken
string
A page token. Must be a value from
[ListCollectionIdsResponse][google.firestore.v1.ListCollectionIdsResponse].
Equivalent to listCollectionIds, but returns a NodeJS Stream object.
This fetches the paged responses for listCollectionIds 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.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Description
parent
string
Required. The parent document. In the format:
projects/{project_id}/databases/{database_id}/documents/{document_path}.
For example:
projects/my-project/databases/my-database/documents/chatrooms/my-chatroom
pageSize
number
The maximum number of results to return.
pageToken
string
A page token. Must be a value from
[ListCollectionIdsResponse][google.firestore.v1.ListCollectionIdsResponse].
Required. The parent resource name. In the format:
projects/{project_id}/databases/{database_id}/documents or
projects/{project_id}/databases/{database_id}/documents/{document_path}.
For example:
projects/my-project/databases/my-database/documents or
projects/my-project/databases/my-database/documents/chatrooms/my-chatroom
collectionId
string
Required. The collection ID, relative to parent, to list. For example: chatrooms
or messages.
pageSize
number
The maximum number of documents to return.
pageToken
string
The next_page_token value returned from a previous List request, if any.
orderBy
string
The order to sort results by. For example: priority desc, name.
mask
google.firestore.v1.DocumentMask
The fields to return. If not set, returns all fields.
If a document has a field that is not present in this mask, that field
will not be returned in the response.
transaction
Buffer
Reads documents in a transaction.
readTime
google.protobuf.Timestamp
Reads documents as they were at the given time.
This may not be older than 60 seconds.
showMissing
boolean
If the list should show missing documents. A missing document is a
document that does not exist but has sub-documents. These documents will
be returned with a key but will not have fields, [Document.create_time][google.firestore.v1.Document.create_time],
or [Document.update_time][google.firestore.v1.Document.update_time] set.
Requests with show_missing may not specify where or
order_by.
Equivalent to listDocuments, but returns a NodeJS Stream object.
This fetches the paged responses for listDocuments 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.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Description
parent
string
Required. The parent resource name. In the format:
projects/{project_id}/databases/{database_id}/documents or
projects/{project_id}/databases/{database_id}/documents/{document_path}.
For example:
projects/my-project/databases/my-database/documents or
projects/my-project/databases/my-database/documents/chatrooms/my-chatroom
collectionId
string
Required. The collection ID, relative to parent, to list. For example: chatrooms
or messages.
pageSize
number
The maximum number of documents to return.
pageToken
string
The next_page_token value returned from a previous List request, if any.
orderBy
string
The order to sort results by. For example: priority desc, name.
mask
google.firestore.v1.DocumentMask
The fields to return. If not set, returns all fields.
If a document has a field that is not present in this mask, that field
will not be returned in the response.
transaction
Buffer
Reads documents in a transaction.
readTime
google.protobuf.Timestamp
Reads documents as they were at the given time.
This may not be older than 60 seconds.
showMissing
boolean
If the list should show missing documents. A missing document is a
document that does not exist but has sub-documents. These documents will
be returned with a key but will not have fields, [Document.create_time][google.firestore.v1.Document.create_time],
or [Document.update_time][google.firestore.v1.Document.update_time] set.
Requests with show_missing may not specify where or
order_by.
Required. The parent resource name. In the format:
projects/{project_id}/databases/{database_id}/documents or
projects/{project_id}/databases/{database_id}/documents/{document_path}.
For example:
projects/my-project/databases/my-database/documents or
projects/my-project/databases/my-database/documents/chatrooms/my-chatroom
structuredQuery
google.firestore.v1.StructuredQuery
A structured query.
transaction
Buffer
Reads documents in a transaction.
newTransaction
google.firestore.v1.TransactionOptions
Starts a new transaction and reads the documents.
Defaults to a read-only transaction.
The new transaction ID will be returned as the first response in the
stream.
readTime
google.protobuf.Timestamp
Reads documents as they were at the given time.
This may not be older than 60 seconds.
Required. The updated document.
Creates the document if it does not already exist.
updateMask
google.firestore.v1.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.
mask
google.firestore.v1.DocumentMask
The fields to return. If not set, returns all fields.
If the document has a field that is not present in this mask, that field
will not be returned in the response.
currentDocument
google.firestore.v1.Precondition
An optional precondition on the document.
The request will fail if this is set and not met by the target document.