
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
wise-json-db
Advanced tools
Blazing fast, crash-proof embedded JSON database for Node.js with batch operations, TTL, indexes, and segmented checkpointing.

WiseJSON DB is an incredibly fast, crash-proof, embedded JSON database for Node.js. It features a powerful sync engine, ACID transactions, and advanced indexing, making it a perfect choice for offline-first applications, desktop software, and robust backend services.
The fastest way to get started is by running the WiseJSON server, which includes the Data Explorer web UI and the synchronization API, using Docker.
1. Run the official Docker image:
docker run -d -p 3000:3000 \
-v wisejson_data:/data \
--name wisejson-server \
your_dockerhub_username/wisejson-server:latest
(Replace your_dockerhub_username with the actual Docker Hub repository name)
2. Open the Data Explorer: Your server is now running! Navigate to http://localhost:3000 in your browser.
Your database files are safely stored in a Docker volume named wisejson_data.
➡️ For detailed instructions on configuration, data persistence, and using Docker Compose, see our Comprehensive Docker Guide.
$gt, $in, $or, etc.) for complex lookups.uuid, proper-lockfile) and an intuitive, modern API.To embed WiseJSON DB directly into your Node.js application, install the library from NPM:
npm install wise-json-db
The API is designed to be simple and intuitive, with "lazy" initialization.
const { connect } = require('wise-json-db');
const path = require('path');
// `connect` creates a database instance. Initialization happens automatically on the first operation.
const db = connect(path.resolve(__dirname, 'my-app-data'));
async function main() {
// Getting a collection triggers the initialization if it hasn't happened yet.
const users = await db.getCollection('users');
await users.clear(); // Clean up for a predictable run
// Create a unique index to prevent duplicate emails
await users.createIndex('email', { unique: true });
// Insert documents
await users.insert({ name: 'Alice', email: 'alice@example.com', age: 30 });
await users.insertMany([
{ name: 'Bob', email: 'bob@example.com', age: 24 },
{ name: 'Charlie', email: 'charlie@example.com', age: 35, tags: ['dev'] }
]);
// Find a document using a rich query object
const devUser = await users.findOne({ tags: 'dev', age: { $gt: 30 } });
console.log('Developer over 30:', devUser);
// Update a document using MongoDB-style operators
const { modifiedCount } = await users.updateOne(
{ email: 'alice@example.com' },
{ $set: { status: 'active' }, $inc: { age: 1 } }
);
console.log(`Updated ${modifiedCount} document(s).`);
// Close the database to ensure all data is flushed to disk before the app exits.
await db.close();
console.log('Database closed.');
}
main().catch(console.error);
For a deeper dive into the API, check out the documentation in the /docs directory.
WiseJSON DB includes a powerful CLI for database administration.
# See all available commands
wise-json --help
# List all collections in the database
wise-json list-collections
# Show documents with filtering and sorting
wise-json show-collection users --limit 5 --sort age --order desc
# Create an index (requires the --allow-write flag for modifying operations)
wise-json create-index users email --unique --allow-write
Contributions are welcome! Whether it's bug reports, feature suggestions, or pull requests, your help is appreciated. Please feel free to open an issue to discuss your ideas.
This project is licensed under the MIT License. See the LICENSE file for details.
FAQs
Blazing fast, crash-proof embedded JSON database for Node.js with batch operations, TTL, indexes, and segmented checkpointing.
The npm package wise-json-db receives a total of 45 weekly downloads. As such, wise-json-db popularity was classified as not popular.
We found that wise-json-db demonstrated a healthy version release cadence and project activity because the last version was released less than 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.