aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
    • Learning
  • Tools
  • About
  • Data
  • Engineering

Powering Up Firestore To COUNT() Cost-Efficiently

  • aster.cloud
  • November 12, 2022
  • 3 minute read
Frequently, your application may need to count the number of matches for a given query. For example, if you’re developing a social application, you may need to count the number of friends an individual has.With today’s Preview launch of count(), you can easily and cost-efficiently perform a count() directly in Firestore. It’s accessible via all our server, client SDKs, Google Cloud and Firebase console.

Use Cases

Support for count() now enables you to utilize Firestore for building applications which need aggregation support eg. a dashboard displaying the number of active players in a gaming app or counting the number of friends on a social media app etc., without reading all the docs.

Count() can be leveraged to simply count the number of items in a collection or to count the results based on certain conditions in any application.


Partner with aster.cloud
for your next big idea.
Let us know here.



From our partners:

CITI.IO :: Business. Institutions. Society. Global Political Economy.
CYBERPOGO.COM :: For the Arts, Sciences, and Technology.
DADAHACKS.COM :: Parenting For The Rest Of Us.
ZEDISTA.COM :: Entertainment. Sports. Culture. Escape.
TAKUMAKU.COM :: For The Hearth And Home.
ASTER.CLOUD :: From The Cloud And Beyond.
LIWAIWAI.COM :: Intelligence, Inside and Outside.
GLOBALCLOUDPLATFORMS.COM :: For The World's Computing Needs.
FIREGULAMAN.COM :: For The Fire In The Belly Of The Coder.
ASTERCASTER.COM :: Supra Astra. Beyond The Stars.
BARTDAY.COM :: Prosperity For Everyone.

For example, Let’s say you have a collection called “employees”.

  1. To get a count() of total number of employees, you run the below query:
async function getNumEmployees(db: Firestore): Promise<number> {
  const collection_ = collection(db, 'employees');
  const snapshot = await getCountFromServer(collection_);
  return snapshot.data().count;
}

Now, let’s say you want to get a total count of “developers” among your employees.

  1. To get a count of total developers among your employees,you run the below query:
async function getNumDevelopers(db: Firestore): Promise<number> {
  const collection_ = collection(db, 'employees');
  const query_ = query(collection_, where('role', '==', 'dev'));
  const snapshot = await getCountFromServer(query_);
  return snapshot.data().count;
}

How does COUNT work?

Firestore computes count() based on index entry matches.

Before we discuss the methodology used by the query planner, it’s important to familiarize yourself with two new terms:

  • Index entries scanned: Number of index entries scanned to execute a query.
  • Index entries matched: Number of index entries that match the query.
Read More  The Future Of Work Requires Digital Dexterity

When a query with a count() function is executed, we scan relevant index entries, and the index entries that match the query are then counted on the server. Since the matching documents never have to be retrieved, the performance of the query will primarily depend on the size of the number of index entries scanned.

Pricing for COUNT()

Firestore’s count() isn’t just easy to use, it is also cost-efficient!

You’ll be charged for the number of index entries matched during the computation.

Index entry matches will map to the existing Doc Reads SKU, where up to 1000 index entry matches will be equal to 1 doc read, 1,001 to 2,000 index entry matches will be equal to 2 document reads, etc.

For example, a query utilizing a count aggregation function resulting in 1500 index entry matches, will be charged 2 document reads.

Count () is also available for free-tier users. Since it is charged using document reads, it adheres to the existing free-tier quotas.

COUNT() behavior

For web and mobile users, during the Preview, count() will be an online only experience. You can use the count() function on any query when you are online. Support for real time listeners, and offline access to the count() function is not available at the moment.

The count() function can be used with all our existing query patterns, including transactions.

Next Steps

Please refer to the documentation for more information.

With the ease and cost-efficiency of this feature, we hope you’ll agree this is the one that really counts. Get counting now.

Read More  CISO Survival Guide: How Financial Services Organizations Can More Securely Move To The Cloud

 

By: Joseph (JD) Batchik (Software Engineer) and Denver Coneybeare (Software Engineer)
Source: Google Cloud Blog


For enquiries, product placements, sponsorships, and collaborations, connect with us at [email protected]. We'd love to hear from you!

Our humans need coffee too! Your support is highly appreciated, thank you!

aster.cloud

Related Topics
  • Databases
  • Firestore
  • Google Cloud
You May Also Like
Getting things done makes her feel amazing
View Post
  • Computing
  • Data
  • Featured
  • Learning
  • Tech
  • Technology

Nurturing Minds in the Digital Revolution

  • April 25, 2025
View Post
  • Engineering
  • Technology

Guide: Our top four AI Hypercomputer use cases, reference architectures and tutorials

  • March 9, 2025
View Post
  • Computing
  • Engineering

Why a decades old architecture decision is impeding the power of AI computing

  • February 19, 2025
View Post
  • Engineering
  • Software Engineering

This Month in Julia World

  • January 17, 2025
View Post
  • Engineering
  • Software Engineering

Google Summer of Code 2025 is here!

  • January 17, 2025
View Post
  • Data
  • Engineering

Hiding in Plain Site: Attackers Sneaking Malware into Images on Websites

  • January 16, 2025
View Post
  • Computing
  • Design
  • Engineering
  • Technology

Here’s why it’s important to build long-term cryptographic resilience

  • December 24, 2024
IBM and Ferrari Premium Partner
View Post
  • Data
  • Engineering

IBM Selected as Official Fan Engagement and Data Analytics Partner for Scuderia Ferrari HP

  • November 7, 2024

Stay Connected!
LATEST
  • college-of-cardinals-2025 1
    The Definitive Who’s Who of the 2025 Papal Conclave
    • May 7, 2025
  • conclave-poster-black-smoke 2
    The World Is Revalidating Itself
    • May 6, 2025
  • 3
    Conclave: How A New Pope Is Chosen
    • April 25, 2025
  • Getting things done makes her feel amazing 4
    Nurturing Minds in the Digital Revolution
    • April 25, 2025
  • 5
    AI is automating our jobs – but values need to change if we are to be liberated by it
    • April 17, 2025
  • 6
    Canonical Releases Ubuntu 25.04 Plucky Puffin
    • April 17, 2025
  • 7
    United States Army Enterprise Cloud Management Agency Expands its Oracle Defense Cloud Services
    • April 15, 2025
  • 8
    Tokyo Electron and IBM Renew Collaboration for Advanced Semiconductor Technology
    • April 2, 2025
  • 9
    IBM Accelerates Momentum in the as a Service Space with Growing Portfolio of Tools Simplifying Infrastructure Management
    • March 27, 2025
  • 10
    Tariffs, Trump, and Other Things That Start With T – They’re Not The Problem, It’s How We Use Them
    • March 25, 2025
about
Hello World!

We are aster.cloud. We’re created by programmers for programmers.

Our site aims to provide guides, programming tips, reviews, and interesting materials for tech people and those who want to learn in general.

We would like to hear from you.

If you have any feedback, enquiries, or sponsorship request, kindly reach out to us at:

[email protected]
Most Popular
  • 1
    IBM contributes key open-source projects to Linux Foundation to advance AI community participation
    • March 22, 2025
  • 2
    Co-op mode: New partners driving the future of gaming with AI
    • March 22, 2025
  • 3
    Mitsubishi Motors Canada Launches AI-Powered “Intelligent Companion” to Transform the 2025 Outlander Buying Experience
    • March 10, 2025
  • PiPiPi 4
    The Unexpected Pi-Fect Deals This March 14
    • March 13, 2025
  • Nintendo Switch Deals on Amazon 5
    10 Physical Nintendo Switch Game Deals on MAR10 Day!
    • March 9, 2025
  • /
  • Technology
  • Tools
  • About
  • Contact Us

Input your search keywords and press Enter.