Introduction to diskdb
diskdb is a lightweight and straightforward database solution for Node.js applications. It allows you to store, access, and manage JSON-based collections effortlessly. Whether you are a beginner or an advanced user, diskdb provides an extensive range of APIs to interact with your data. In this blog post, we’ll explore diskdb in detail and provide numerous code snippets to help you get started.
Getting Started with diskdb
First, you need to install diskdb. You can do this using npm or yarn:
npm install diskdb --save
yarn add diskdb
After installation, you can require diskdb in your Node.js application:
const db = require('diskdb'); db.connect('path/to/db', ['collectionName']);
Basic API Examples
Inserting Data
To insert data into a collection:
const book = { title: 'The Great Gatsby', author: 'F. Scott Fitzgerald' }; db.collectionName.save(book);
Finding Data
There are multiple ways to find data in a collection:
// Find all documents const books = db.collectionName.find();
// Find documents with a query const specificBook = db.collectionName.find({ author: 'F. Scott Fitzgerald' });
// Find one document const oneBook = db.collectionName.findOne({ title: 'The Great Gatsby' });
Updating Data
To update a document by its ID or query:
const updatedDocument = db.collectionName.update({ _id: 'someId' }, { title: 'New Title' }); const updateQuery = db.collectionName.update({ author: 'F. Scott Fitzgerald' }, { author: 'Francis Scott Key Fitzgerald' });
Removing Data
To remove a document:
db.collectionName.remove({ _id: 'someId' }); db.collectionName.remove({ author: 'Francis Scott Key Fitzgerald' }, /* multiple */ true);
Advanced API Examples
Counting Documents
To count the documents in a collection:
const count = db.collectionName.count(); const specificCount = db.collectionName.count({ author: 'F. Scott Fitzgerald' });
Loading Data from JSON File
To load data from an external JSON file into a collection:
db.loadCollections(['path/to/your/json/file/collectionName.json']);
Using DiskDB With Express
Let’s see an example of how you can use DiskDB with an Express.js application:
const express = require('express'); const db = require('diskdb'); db.connect('path/to/db', ['books']);
const app = express(); app.use(express.json());
app.get('/books', (req, res) => {
const books = db.books.find();
res.json(books);
});
app.post('/books', (req, res) => {
const newBook = req.body;
db.books.save(newBook);
res.status(201).json(newBook);
});
app.put('/books/:id', (req, res) => {
const updatedBook = req.body;
db.books.update({ _id: req.params.id }, updatedBook);
res.json(updatedBook);
});
app.delete('/books/:id', (req, res) => {
db.books.remove({ _id: req.params.id });
res.status(204).send();
});
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});
This example demonstrates the use of basic CRUD operations with diskdb in an Express application. You can extend this example to fit the needs of your application.
Conclusion
diskdb offers a simple yet powerful way to manage JSON data in Node.js applications. In this blog post, we have covered several diskdb APIs with code samples and even integrated it into an Express.js app. Try incorporating diskdb into your next project for an easy and efficient way to handle your data!
Remember to explore more about its features and adapt it to your use cases.
Hash: 604c2ee6cfd1a2db8d75c7993c1d3b32d222fa43d475594b1181c9410c4d1863