Database
Efficient COUNT, SUM, MAX with the Aggregate Component 
Convex omits built-in aggregates because full-table scans don’t scale; the video shows how @convex-dev/aggregate (B-Tree powered) enables fast pagination, ranking, per-user stats, and randomization with fully reactive queries. It also covers keeping aggregates in sync via triggers/custom functions, backfilling with migrations, and the trade-offs that hint at possible platform-level support.

Mike Cann
6 days ago
Top 5 Real-Time Databases Compared
Compare top real-time databases: Convex for TypeScript teams, Firebase for MVPs, Supabase for SQL, Realm for mobile, InfluxDB for analytics.

Deborah Ruck
8 days ago
What is a real-time database? (and why your startup probably needs one)
Real-time databases sync data instantly across users, eliminating polling lag. Clients subscribe to queries that auto-update when data changes, creating faster, more responsive apps essential for collaboration, e-commerce, and gaming.

Deborah Ruck
9 days ago
Why doesn't Convex have SELECT or COUNT?
Why DOESNT Convex provide a “SELECT” or a “COUNT”? Ill walk you thtough it..

Mike Cann
24 days ago
Migrating data from Postgres to Convex

This guide will help you migrate data to Convex from Postgres on any provider (Supabase, Neon, RDS, etc).


Nipunn Koorapati & Ian Macartney
a month ago
Merging Streams of Convex data
New convex-helpers are available now for fetching streams of documents, merging them together, filtering them them out, and paginating the results. With these helpers, you can replicate patterns you may know from SQL: UNION ALL, JOIN, DISTINCT, GROUP BY, and WHERE clauses where index fields are skipped.

Lee Danilek
5 months ago
Translate SQL into Convex Queries
Here’s a cheatsheet with examples of conversions between SQL queries and Convex queries. This article is geared towards developers (and LLMs) who have familiarity with SQL and want to translate those familiar patterns into Convex queries. You'll learn how to `UNION`, `JOIN`, `DISTINCT`, do `WHERE` clauses, and `SELECT` fields.

Lee Danilek
5 months ago
MongoDB to Convex: A Step-by-Step Data Migration Script
Moving data between databases is never fun, but I needed to get 2 million MongoDB documents into Convex without losing my mind. This post walks through my migration script, covering everything from connecting databases to handling schema changes, batch processing, and error handling. If you’re thinking about moving from MongoDB to Convex, consider this your survival guide—coffee highly recommended!

Bobby Alv
5 months ago
Optimize Transaction Throughput: 3 Patterns for Scaling with Convex and ACID Databases
Explore techniques to improve transaction throughput and concurrency in ACID databases by reducing conflicts and optimizing database reads. This guide covers patterns like Queue, Hot and Cold Tables, and Predicate Locking with clear examples using Convex, providing developers with tools to handle high-throughput workflows effectively.

Lee Danilek
7 months ago
Convex Cookbook: Dynamic Query Builders
You can write a Convex query whose structure -- which index/order/filters to apply, if any -- depends on runtime factors. This article gives a recipe for building queries dynamically.

Lee Danilek
7 months ago
Database Triggers
Triggers automatically run code whenever data in a table changes. A library in the convex-helpers npm package allows you to attach trigger functions to your Convex database.

Lee Danilek
10 months ago
SELECT DISTINCT without SQL
You'll often want to retrieve unique records from your database. While SELECT DISTINCT is the traditional way to do this in SQL databases, we've improved on this pattern in Convex by making it more consistent.

Nipunn Koorapati
a year ago
Stateful Online Migrations using Mutations
Online migrations in Convex using mutations, including a Convex Component to manage them.

Ian Macartney
a year ago