public sealed class ExistenceFilter : IMessage<ExistenceFilter>, IEquatable<ExistenceFilter>, IDeepCloneable<ExistenceFilter>, IBufferMessage, IMessage
Reference documentation and code samples for the Firestore v1 API class ExistenceFilter.
A digest of all the documents that match a given target.
The total count of documents that match
[target_id][google.firestore.v1.ExistenceFilter.target_id].
If different from the count of documents in the client that match, the
client must manually determine which documents no longer match the target.
The client can use the unchanged_names bloom filter to assist with
this determination by testing ALL the document names against the filter;
if the document name is NOT in the filter, it means the document no
longer matches the target.
A bloom filter that, despite its name, contains the UTF-8 byte encodings of
the resource names of ALL the documents that match
[target_id][google.firestore.v1.ExistenceFilter.target_id], in the form
projects/{project_id}/databases/{database_id}/documents/{document_path}.
This bloom filter may be omitted at the server's discretion, such as if it
is deemed that the client will not make use of it or if it is too
computationally expensive to calculate or transmit. Clients must gracefully
handle this field being absent by falling back to the logic used before
this field existed; that is, re-add the target without a resume token to
figure out which documents in the client's cache are out of sync.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eExistenceFilter\u003c/code\u003e class is part of the Google Cloud Firestore v1 API, serving as a digest for documents matching a specific target, with the latest being version 3.10.0.\u003c/p\u003e\n"],["\u003cp\u003eThis class implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and has two constructors, one empty and the other accepting an \u003ccode\u003eExistenceFilter\u003c/code\u003e object.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eExistenceFilter\u003c/code\u003e has properties like \u003ccode\u003eCount\u003c/code\u003e, \u003ccode\u003eTargetId\u003c/code\u003e, and \u003ccode\u003eUnchangedNames\u003c/code\u003e, which are important in checking the total number of documents that match a specific target, the ID of that target, and a bloom filter containing the resource names of matching documents.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eUnchangedNames\u003c/code\u003e property provides a bloom filter for document resource names and can be used to determine which documents no longer match the target.\u003c/p\u003e\n"],["\u003cp\u003eThe latest documentation available is for version 3.10.0 of the API, and this page provides version-specific information going as far back as version 2.3.0.\u003c/p\u003e\n"]]],[],null,[]]