PoloDB
activeby PoloDB project (Vincent Chan) · since 2020
Embedded BSON document database for Rust with a MongoDB-like API and optional wire-protocol server.
Overview
PoloDB is an embedded document database for Rust that stores BSON documents and exposes collections, filters, update operators, indexes, aggregation and transactions through a typed, serde-friendly API modelled on the MongoDB driver. Since v5 it uses RocksDB for storage, and a standalone server mode speaks part of the MongoDB wire protocol so existing drivers can connect. There are also experimental Python bindings. Releases are steady (v5.3.0 in July 2026), but the maintainers note that indexes, aggregation and the server are still evolving. It suits Rust desktop, CLI and edge apps that want MongoDB-style documents without a server.
Strengths & trade-offs
Strengths
- +Idiomatic, typed Rust API with serde integration
- +MongoDB-style queries, updates and aggregation in-process
- +RocksDB storage gives solid durability and compression
- +Optional server mode works with standard MongoDB drivers for supported operations
Trade-offs
- −Young project; APIs and features still evolving
- −Database is a RocksDB directory, not a single portable file
- −First build compiles RocksDB and is slow
- −Partial MongoDB compatibility only
Great for
- +Rust desktop and CLI apps needing local document storage
- +Edge services wanting MongoDB-like semantics without a server
- +Tests that stub MongoDB with an embedded store
Think twice for
- −Production multi-user servers
- −Apps needing full MongoDB compatibility
Capabilities
Native or official first-party support · 6 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- Full ACID
- Consistency
- Strong
- Schema
- Schemaless
- Architecture
- Embedded, Client server
- Query languages
- MongoDB-like query API (subset)
Deployment
Ecosystem
Alternatives to PoloDB
The in-process SQL engine that ships in every phone, browser and OS: one file, zero servers.
polodb vs sqlite →Pure-Rust embedded key-value store: copy-on-write B-trees, ACID, and a stable file format.
polodb vs redb →Embeddable JSON document database in C, with a JQL query language and optional HTTP/WebSocket server.
polodb vs ejdb →Embedded, transactional key-value and JSON document engine in a single C file, with Jx9 scripting.
polodb vs unqlite →Pure-JavaScript embedded datastore with a MongoDB-like API; the original is unmaintained.
polodb vs nedb →The default document database: flexible BSON documents, rich queries and built-in sharding.
polodb vs mongodb →PoloDB FAQ
What is PoloDB?
PoloDB is a document database by PoloDB project (Vincent Chan), first released in 2020. PoloDB is an embedded document database for Rust that stores BSON documents and exposes collections, filters, update operators, indexes, aggregation and transactions through a typed, serde-friendly API modelled on the MongoDB driver. Since v5 it uses RocksDB for storage, and a standalone server mode speaks part of the MongoDB wire protocol so existing drivers can connect. There are also experimental Python bindings. Releases are steady (v5.3.0 in July 2026), but the maintainers note that indexes, aggregation and the server are still evolving. It suits Rust desktop, CLI and edge apps that want MongoDB-style documents without a server.
Is PoloDB open source?
Yes. PoloDB is open source. License: Apache License 2.0.
Does PoloDB support ACID transactions?
Yes. PoloDB supports full ACID transactions, with strong consistency.
Does PoloDB scale horizontally?
PoloDB does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run PoloDB?
You can self-host it and embed it in your application.
What is PoloDB best for?
PoloDB is a strong fit for rust desktop and CLI apps needing local document storage; edge services wanting MongoDB-like semantics without a server; and tests that stub MongoDB with an embedded store. Think twice for production multi-user servers.
What are the best alternatives to PoloDB?
Common alternatives to PoloDB include SQLite, redb, EJDB, UnQLite and NeDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is PoloDB?
PoloDB ranks #443 of 844 databases on the WhichDB Score (3.2/100), and #38 among document databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.