ervel.db
v3.6.1
Published
Local and Cloud data storage module. (JSON, BSON, YAML, Mongodb)
Maintainers
Keywords
Readme
Updates
• Added separator support to the "includes", "startsWith", and "endsWith" functions, along with improvements to the "includesDelete" function for better key deletion efficiency.
• A new option has been added to local providers. When the "deleteEmptyObjects" option is enabled, any empty objects will be automatically removed after a deletion, ensuring cleaner data management.
About
• Ervel.db is a beginner-friendly module that caters to new developers and allows easy usage of databases with a simple key-value structure. It encompasses popular database modules such as Mongodb, Bson, Yaml, and Json. In the future, it will be enriched with support for additional database types.
Features
- Beginner friendly, All In One and Easy to use.
- Personalizable separator in JSON, BSON and YAML databases.
- Key and Value based methods.
- Quick to respond, read and write.
- Mongo Multiple model support.
- Easy to switch between JSON, BSON, YAML and Mongodb databases.
- Supports EventEmitter functions in JSON, BSON and YAML databases.
- Auto database typo fixer in JSON database.
- Auto Update Checker.
- Minify option on JSON database.
Local Provider Usage
- Import the desired provider components from the library:
const { YamlProvider, BsonProvider, JsonProvider } = require("ervel.db")- Create an instance of the desired provider class with appropriate options:
const db = new JsonProvider({}) // Every options is set to default.
const db = new JsonProvider({ // Alternatives, new YamlProvider({ and new BsonProvider({
path: "./files/advanceduser.json", // Optional, specify the path
separator: "*", // Optional, change separator
useEmit: true, // Optional, enable EventEmitter functions
checkUpdate: false, // Optional, disable module update checks
minify: true, // Optional, change database format
deleteEmptyObjects: true // Optional, enable Delete Empty Objects
});Local Provider Methods
db.set("key", "value"): key: "value"db.fetch("key"): "value"db.get("key"): "value"db.has("key"): truedb.push("array", "data"): array: ["data"]db.pull("array", "data"): array: []db.fetchAll(): { key: "value", array: [] }db.all(): { key: "value", array: [] }db.all("object"): [ [key: "value"], [array: []] ]db.all("keys"): ["key", "array"]db.all("values"): ["value", []]db.length(): Shows the number of data in the database.db.length("key"): Shows the number of data in the "key" data.db.type("key"): stringdb.startsWith("key"): Lists data entries whose keys start with the keyword "key". [ keyanime: "value" ]db.endsWith("key"): Lists data entries whose keys end with the keyword "key". [ animekey: "value" ]db.includes("key"): Lists data entries that include the keyword "key". [ animekey: "value", keyanime: "value" ]db.delete("key"): Deletes the "key" data.db.includesDelete("key"): Deletes all entries from the database that contain the specified "key".db.clear(): Deletes all data in the database.db.backup(): Creates the ervel-backup.json file.db.backup("./backup/file"): Creates a backup file named "file" in the "./backup" directory.db.backup("./backup/file", "1m"): Automatically creates and updates a backup file named "file" in the "./backup" directory every 1 minute. 1s, 1m ,1hdb.move(quick): Moves Quick.db data to Local Provider.db.add("number", 1): number: 2db.sub("number", 1): number: 0db.destroy(): Deletes the database file.db.size(): Shows database size.db.version(): 3.6.1
Moving Data From Quick.DB to Local Database
const { JsonProvider } = require("ervel.db")
const db = new JsonProvider({})
const { QuickDB } = require("quick.db");
const quick = new QuickDB();
db.move(quick)Mongodb Provider Usage
- Import the provider component from the library:
const { MongoProvider } = require("ervel.db")- Create an instance of the provider class:
const db = new MongoProvider("mongodb://localhost/ervel.db"); // Online database link or local database linkMongodb Provider Methods
db.set("key", "value"): key: "value"db.fetch("key"): "value"db.get("key"): "value"db.has("key"): truedb.push("array", "data"): array: ["data"]db.pull("array", "data"): array: []db.fetchAll(): { key: "value", array: [] }db.all(): { key: "value", array: [] }db.export(): Exports all data from the database.db.import(): Imports all data from the database.db.type("key"): stringdb.uptime(): Shows connection uptime.db.connection(): Shows connection status.db.keyArray(): ["key", "array"]db.valueArray(): ["value", []]db.delete("key"): Deletes the "key" data.db.clear(): Deletes all data in the database.db.add("number", 1): number: 2db.sub("number", 1): number: 0db.move(quick): Moves Quick.db data to Mongodb database.db.disconnect(): Disconnects database connection.db.createModel("name"): Creates model.db.updateModel("name"): Updates the model name.db.version(): 3.6.1
Moving Data From Quick.DB to Mongodb
const { MongoProvider } = require("ervel.db");
const db = new MongoProvider("mongodb://localhost/ervel.db");
const { QuickDB } = require("quick.db");
const quick = new QuickDB();
db.move(quick) EventEmitter Usage Example
- EventEmitter Options: set, clear, move, destroy, pull, push, delete, add, sub, backup, includesDelete
const { JsonProvider } = require("ervel.db")
const db = new JsonProvider({ useEmit: true })
db.on('set', ({ key, value }) => {
console.log(`key: ${key} value: ${value}`);
});
db.set("test", "test")Do you have a suggestion or complaint? Feel free to reach me on Discord with the nickname Ervel
