Introduction to Lowdb
Lowdb is a small, local JSON database powered by Lodash. It’s perfect for small projects, quick prototyping, or when you just need a simple, flat file database.
Installation
npm install lowdb
Set Up
const low = require('lowdb'); const FileSync = require('lowdb/adapters/FileSync'); const adapter = new FileSync('db.json'); const db = low(adapter);
Basic CRUD Operations
Creating Records
db.defaults({ posts: [] }) .write(); db.get('posts') .push({ id: 1, title: 'lowdb is awesome'}) .write();
Reading Records
const post = db.get('posts') .find({ id: 1 }) .value();
Updating Records
db.get('posts') .find({ id: 1 }) .assign({ title: 'lowdb is super awesome' }) .write();
Deleting Records
db.get('posts') .remove({ id: 1 }) .write();
Advanced API Features
Setting Default Values
db.defaults({ users: [], posts: [] }) .write();
Using the Update Function
db.update('count', n => n + 1) .write();
Using Write Function
db.get('posts') .push({ id: 2, title: 'This is another post' }) .write();
Full Application Example
Here’s a simple application example using Lowdb APIs
const express = require('express'); const low = require('lowdb'); const FileSync = require('lowdb/adapters/FileSync'); const app = express(); const adapter = new FileSync('db.json'); const db = low(adapter); db.defaults({ posts: [] }).write(); app.use(express.json()); app.get('/posts', (req, res) => { const posts = db.get('posts').value(); res.json(posts); }); app.post('/posts', (req, res) => { const post = db.get('posts') .push(req.body) .write(); res.json(post); }); app.listen(3000, () => { console.log('Server is running on port 3000'); });
With these examples, you can now utilize Lowdb to enhance your web development projects. Experiment with the code snippets and create your own local JSON database applications effortlessly!
Hash: 562a51e2b9fe91f7adf3806877a0943977446a9919068f410c6461d1bb6f2f31