JSPM

  • Created
  • Published
  • Downloads 62
  • Score
    100M100P100Q54194F
  • License ISC

Kolay geçilebilir ve kullanılabilir. Json ve Mongo tabanlı veri tabanı modülü.

Package Exports

  • ervel.db
  • ervel.db/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ervel.db) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Downloads DownloadPerMonth Version

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"): 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.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 ,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.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 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.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")