[go: nahoru, domu]

ervel.db

3.3.0 • Public • Published

Downloads DownloadPerMonth Version

Updates

  • Ervel.db has now transitioned from the fs module to the graceful-fs module to enhance stability in database read and write operations.

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

});

Local Provider Methods

  • db.set("key", "value"): key: "value"

  • db.fetch("key"): "value"

  • db.get("key"): "value"

  • db.has("key"): true

  • db.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"): string

  • db.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.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 ,1h

  • db.move(quick): Moves Quick.db data to Local Provider.

  • db.add("number", 1): number: 2

  • db.sub("number", 1): number: 0

  • db.destroy(): Deletes the database file.

  • db.size(): Shows database size.

  • db.version(): 3.3.0

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 link

Mongodb Provider Methods

  • db.set("key", "value"): key: "value"

  • db.fetch("key"): "value"

  • db.get("key"): "value"

  • db.has("key"): true

  • db.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"): string

  • db.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: 2

  • db.sub("number", 1): number: 0

  • db.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.3.0

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
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")

Package Sidebar

Install

npm i ervel.db

Weekly Downloads

71

Version

3.3.0

License

CC BY-NC-ND 4.0

Unpacked Size

81.3 kB

Total Files

12

Last publish

Collaborators

  • ervel