
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Need a powerful, low-cost VPS for hosting your applications & bots 24/7? Check out our partner, Contabo! 🎉
Auto Generated Docs docs
Guide Guide
Support: discord.gg/plexidev
NPM: npmjs.com/quick.db
Quick.db is an open-source package meant to provide an easy way for beginners and people of all levels to access & store data in a low to medium volume environment. All data is stored persistently via either better-sqlite3, mysql2, pg or mongoose and comes way various other quality-of-life features.
If you want to support me
npm i quick.db
1. Install XCode
2. Run `npm i -g node-gyp` in terminal
3. Run `node-gyp --python /path/to/python` in terminal
If you're having troubles installing, please follow this troubleshooting guide. Windows users may need to do additional steps listed here.
NOTE: In order to use this driver, install
npm i better-sqlite3separately.
const { QuickDB } = require("quick.db");
const db = new QuickDB(); // will make a json.sqlite in the root folder
// if you want to specify a path you can do so like this
// const db = new QuickDB({ filePath: "source/to/path/test.sqlite" });
(async () => {
// Init the database, this is always needed!
await db.init();
// self calling async function just to get async
// Setting an object in the database:
await db.set("userInfo", { difficulty: "Easy" });
// -> { difficulty: 'Easy' }
// Getting an object from the database:
await db.get("userInfo");
// -> { difficulty: 'Easy' }
// Getting an object property from the database:
await db.get("userInfo.difficulty");
// -> 'Easy'
// Setting an object in the database:
await db.set("userInfo", { difficulty: "Easy" });
// -> { difficulty: 'Easy' }
// Pushing an element to an array (that doesn't exist yet) in an object:
await db.push("userInfo.items", "Sword");
// -> { difficulty: 'Easy', items: ['Sword'] }
// Adding to a number (that doesn't exist yet) in an object:
await db.add("userInfo.balance", 500);
// -> { difficulty: 'Easy', items: ['Sword'], balance: 500 }
// Repeating previous examples:
await db.push("userInfo.items", "Watch");
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 500 }
await db.add("userInfo.balance", 500);
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1000 }
// Fetching individual properties
await db.get("userInfo.balance"); // -> 1000
await db.get("userInfo.items"); // ['Sword', 'Watch']
})();
NOTE: In order to use this driver, install
npm i mysql2separately.
const { QuickDB } = require("quick.db");
const { MySQLDriver } = require("quick.db/MySQLDriver");
(async () => {
const mysqlDriver = new MySQLDriver({
host: "localhost",
user: "me",
password: "secret",
database: "my_db",
});
const db = new QuickDB({ driver: mysqlDriver });
await db.init(); // Connects and setup the database
// Now you can use quick.db as normal
await db.set("userInfo", { difficulty: "Easy" });
// -> { difficulty: 'Easy' }
})();
NOTE: In order to use this driver, install
npm i pgseparately.
const { QuickDB } = require("quick.db");
const { PostgresDriver } = require("quick.db/PostgresDriver");
(async () => {
const postgresDriver = new PostgresDriver({
host: "localhost",
user: "me",
password: "secret",
database: "my_db",
});
const db = new QuickDB({ driver: postgresDriver });
await db.init(); // Connects and setup the database
// Now you can use quick.db as normal
await db.set("userInfo", { difficulty: "Easy" });
// -> { difficulty: 'Easy' }
})();
NOTE: In order to use this driver, install
npm i mongooseseparately.
const { QuickDB } = require("quick.db");
const { MongoDriver } = require("quick.db/MongoDriver");
(async () => {
const mongoDriver = new MongoDriver("mongodb://localhost/quickdb");
const db = new QuickDB({ driver: mongoDriver });
await db.init(); // Connects and setup the database
// Now you can use quick.db as normal
await db.set("userInfo", { difficulty: "Easy" });
// -> { difficulty: 'Easy' }
await mongoDriver.close();
// disconnect from the database
})();
NOTE: In order to use this driver, install
npm i write-file-atomicseparately.
const { QuickDB } = require("quick.db");
const { JSONDriver } = require("quick.db/JSONDriver");
const jsonDriver = new JSONDriver();
const db = new QuickDB({ driver: jsonDriver });
// Init the database, this is always needed!
await db.init();
await db.set("userInfo", { difficulty: "Easy" });
Note: In-memory database is not persistent and is suitable for temporary caching.
const { QuickDB } = require("quick.db");
const { MemoryDriver } = require("quick.db/MemoryDriver");
const memoryDriver = new MemoryDriver();
const db = new QuickDB({ driver: memoryDriver });
// Init the database, this is always needed!
await db.init();
await db.set("userInfo", { difficulty: "Easy" });
FAQs
a private mewwme.db for my personal use
We found that mewwme.db demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.