Introduction
Silt is an embedded MongoDB alternative. It provides a MongoDB-compatible JavaScript API backed by SQLite, so supported MongoDB application code can run against a local database file.
Change the import and initialization to use @silt-db/mongodb. Keep your collection operations, filters, updates, and aggregation pipelines. SQLite executes the queries, including joins with $lookup; Silt decodes the returned documents without maintaining an in-memory copy of the database.
A database that ships with your app
One SQLite file is one database. On Node, Silt uses built-in SQLite by default and supports better-sqlite3. On Expo, platform exports select expo-sqlite. Applications with another compatible SQLite driver can supply it through the advanced engine API.
Compatibility comes first
Silt aims to replace MongoDB for applications using its supported JSON API. It implements collection methods, stateful cursors, local transactions, query operators, and aggregation stages. It is currently alpha.
The compatibility reference lists the boundaries, including unsupported BSON types, operators, indexes, and server features. This is JavaScript API compatibility after changing initialization; Silt does not implement MongoDB's network protocol.
Use the MongoDB Query API documentation to learn filters and pipelines. These guides focus on opening Silt, choosing a runtime, and checking differences.
Get started
Run the quick start, or go directly to using existing MongoDB code, local development and testing, deployment, or Expo.
For applications using ShareDB, Teamplay, or StartupJS, see the optional advanced integrations.