sans-db
v1.0.0
Published
Manage JSON database like quick.db
Downloads
5
Maintainers
Readme
Sans-DB
Sans-DB is a simple and lightweight Node.js database library for managing key-value data with ease. It includes features like automatic backups and default values for keys. This module is from clarity-db.
Installation
npm install sans-db
## Usage
To use the library, you need to import it into your project:
const DataBase = require("sans-db")
const db = new DataBase("./db.json", {
backup: {
enabled: true,
folder: './backups/',
interval: 1000 * 60 * 60
},
preset: {
prefix: "+"
}
})
// Setting an object in the database:
db.set("userInfo", { difficulty: "Easy" });
// -> { difficulty: 'Easy' }
// Checking an object from the database
if (db.has("userInfo"))
// -> true
// Getting an object from the database
db.get("userInfo")
// -> { difficulty: 'Easy' }
// Getting an object property from the database:
db.get("userInfo.difficulty");
// -> 'Easy'
// Pushing an element to an array (that doesn't exist yet) in an object:
db.push("userInfo.items", "Sword");
// -> { difficulty: 'Easy', items: ['Sword'] }
// Adding to a number (that doesn't exist yet) in an object:
db.add("userInfo.balance", 500);
// -> { difficulty: 'Easy', items: ['Sword'], balance: 500 }
// Removing to a number (that doesn't exist yet) in an object:
db.add("userInfo.balance", 100);
// -> { difficulty: 'Easy', items: ['Sword'], balance: 400 }
// Repeating previous examples:
db.push("userInfo.items", "Watch");
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 400 }
db.add("userInfo.balance", 700);
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1100 }
db.sub("userInfo.balance", 100);
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1000 }
// Fetching individual properties
db.get("userInfo.balance");
// -> 1000
db.get("userInfo.items");
// -> ['Sword', 'Watch']
db.save()
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1000 }
db.backup()
// -> ./backups/db-00-00-00.json
db.clear()
// -> Empty
db.restore("./backups/db-00-00-00.json")
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1000 }
db.all()
// -> { difficulty: 'Easy', items: ['Sword', 'Watch'], balance: 1000 }