ForerunnerDB is a NoSQL JSON document database designed for both browser-based and Node.js applications, offering a MongoDB-like query language. The current stable version is 2.0.24, with a significant rewrite for version 3.0 actively under development in a separate repository (forerunnerdb-core). Key differentiators include its dual-environment support, advanced features like data views, joins, sub-queries, and collection groups, along with optional modules for AngularJS/Ionic integration, real-time data binding to the DOM (browser-only), persistent storage, data compression and encryption, and a built-in REST API server for Node.js. It is production-ready, battle-tested in applications serving millions of users daily, and maintained by Irrelon Software Limited. While no explicit release cadence is published, development is ongoing for the next major version.
npm install forerunnerdbVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates the initialization of ForerunnerDB, creating a collection, inserting, querying (including comparisons), updating documents, and saving/loading the database state with basic persistence. It also shows a simple View creation.
Monitor the `forerunnerdb-core` repository for updates and migration guides as v3.0 approaches release. Plan for a substantial refactor if upgrading from 2.x to 3.x.
Always call `await db.load()` at application startup to retrieve previous data. Implement strategic `await db.save()` calls after critical data modifications, or use a debounced save mechanism if frequent writes occur.
Consult the documentation for each optional module you intend to use. Ensure you've initialized and configured them correctly, e.g., `db.persist.dataDir('/path/to/data')` for Node.js persistence.Use `const fdb = new ForerunnerDB();` to instantiate the database constructor.
First, instantiate ForerunnerDB with `new ForerunnerDB()`, then call `.db('yourDbName')` on the instance to get a database object: `const fdb = new ForerunnerDB(); const db = fdb.db('myDb');`Ensure the directory specified in `db.persist.dataDir('/your/path')` exists and that your Node.js process has read/write permissions to it. Create the directory manually if necessary.No dependency data recorded yet.