count()

Counts the amount of entities in a table. If a filter is supplied, blinkDB will only count how many items match the filter - if not given, the total number of items in the table is returned.

// Get the total number of users
const userCount = await count(userTable);
// Get the number of users called Bob
const usersNamedBobCount = await count(userTable, {
  where: {
    name: "Bob",
  },
});
Parameter Description
table The table created by createTable() .
filter Optional. If given, only items matching the filter will be counted. See filters.
Option Description
exact (default: true) If the count should be exact, or estimated. See Performance.

Performance

If no filter is given, count() will return in O(1) time.

If you specify a filter, BlinkDB will first retrieve all items, and then count how many items have been retrieved. If you have a very large table (> 10.000 items), and prefer performance over accuracy, consider using { exact: false }. This will use a more performant but less accurate method.

// Estimate the number of users called Bob
const usersNamedBobCount = await count(userTable, {
  where: {
    name: "Bob",
  },
}, { exact: false });
blinkDB © 2023