1.0.5 • Published 1 year ago

database-sistem v1.0.5

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

database-sistem

jsonlu database sistemi

aşağıdaki kod sayesinde dosyayı oluşturabiliyorsunuz.

const Db = require("database-sistem");
const db = new Db({
    path: `./database.json`,
    seperator: ".",
    spaces: 10
  });

path yani yol kısmında istediğiniz konumu seçiyorsunuz.

const Db = require("database-sistem");
const db = new Db({
    path: `./database/database.json`,
    seperator: ".",
    spaces: 10
  });

gibi ama burada kullanacağınız klasörün olması gerekli, dosyayı ise kendisi oluşturuyor, dosyayı kendiniz oluşturmayınız.

db.set(`a`,`a`) // şeklinde yazarsanız

aşağıdaki sonuç elde edilir.

{
  "a":"a"
}

// Diğer Örnek

db.set(`a.b`,`c`)

şeklinde olursa

{
"a": {
  "b":"c"
  }
}

şeklinde olur.

Matematiksel işlevler

toplama

db.add(`a`,1)
{
  "a": 1
}

bunun aynısını bir daha yaparsak, toplarsak yine 1 le

{
  "a": 2
}

şeklinde olur.

çıkarma

db.subtract("a",1)

sonuç

{
  "a": 1
}

şeklinde olur.

dizi işlemleri

diziye veri eklemek

db.push("a","a")
db.push("a","b")
db.push("a","c")

sonuç

{
  "a": ["a","b","c"]
}

diziden belirli bir elemanı çıkarmak

aşağıdaki fonksiyonlardan önceki array

{
  "a": ["a","b","c"]
}

// splice fonksiyonu

db.splice("a","b")

sonuç

{
  "a": ["a","c"]
}

// pull fonksiyonu

db.pull("a","b")

sonuç

{
  "a": ["a","c"]
}

dizide belirli bir eleman varmı diye bakmak

console.log(db.has("a","a"))

sonuç

true

// yeni gelen includes fonksiyonu

console.log(db.includes("a","a"))

sonuç

true

dizideki elemanları yazdırmak

console.log(db.fetch("a"))

sonuç

["a","c"]

aynı şey diğer set olarak ayarladığımız veriye bakarken de geçerli

console.log(db.get("a"))

sonuç

["a","c"]

dizide kaç eleman var diye bakmak

console.log(db.size("a"))

sonuç

1

geliştirilmiş dizi özelliği

find fonksiyonu

const Db = require("./app.js");
const db = new Db({
    path: `./database.json`,
    seperator: ".",
    spaces: 10
  });
const veri = {
  username:"bob",
  email:"bob@example.com",
}
db.push("users",veri);
const veri2 = {
  username:"bila",
  email:"bila@example.com",
}
db.push("users",veri2);

const userToUpdate = db.find("users", user => user.username === "bob");
console.log(userToUpdate)

sonuç

{ username: 'bob', email: 'bob@example.com' }

databasedeki hali ise aşağıdaki şekildedir

{
          "users": [
                    {
                              "username": "bob",
                              "email": "bob@example.com"
                    },
                    {
                              "username": "bila",
                              "email": "bila@example.com"
                    }
          ]
}

update fonksiyonu

const Db = require("./app.js");
const db = new Db({
    path: `./database.json`,
    seperator: ".",
    spaces: 10
  });
const veri = {
  username:"bob",
  email:"bob@example.com",
}
db.push("users",veri);
const veri2 = {
  username:"bila",
  email:"bila@example.com",
}
db.push("users",veri2);

const userToUpdate = db.find("users", user => user.username === "bob");
console.log(userToUpdate)
if (userToUpdate) {
  const updatedUser = db.update("users", user => user.username === "bob", { email: "bobmarley@example.com", other: "deneme" });
  console.log(updatedUser); // Güncellenmiş kullanıcı bilgisi
} else {
  console.log("Kullanıcı bulunamadı.");
}

sonuç

{ username: 'bob', email: 'bob@example.com' }
{ username: 'bob', email: 'bobmarley@example.com', other: 'deneme' }

databasedeki hali ise aşağıdaki şekildedir

{
          "users": [
                    {
                              "username": "bob",
                              "email": "bobmarley@example.com",
                              "other": "deneme"
                    },
                    {
                              "username": "bila",
                              "email": "bila@example.com"
                    }
          ]
}

diğer özellikler ve ek database bilgileri

aşağıdaki özellikler teknik bilgilerdir, lütfen bu bilgileri dikkatlice inceleyiniz.

const Db = require("database-sistem");
const db = new Db({
    path: `./database/database.json`,
    seperator: ".",
    spaces: 10
  });
db.set("aa.aa","a")
db.set("ab.ac","a")
db.add("ab.ae",3)
db.push("ab.ad","b")

sonuç

{
    "aa": {
        "aa": "a"
    },
    "ab": {
        "ac": "a",
        "ad": [
            "b"
        ],
        "ae": 3

    }
}

Not: burada dosyayı çalıştırıp tekrardan kapattığınız var sayılıyor, eğer aynı dosya içerisinde veri değiştirilmeden aynı dosyayı gördüğü için eski değerden işlem yapacaktır.

bunu aşmanın yolları var tabi, yapacağınız işlem her neyse o işlem içinde dosyayı çekmek olacaktır.

gelelim discord.js(v14.7.1) de ile birlikte nasıl kullanılabilir.

aşağıda komutlar kısmındaki bir komut dosyasından örnek olarak atılmıştır, sizler farklı şekilde yapabilirsiniz.

örnek kod 1

// örnek komut
const discord = require("discord.js")
const config = require("../../config.json")

const { EmbedBuilder } = require('discord.js');

const Db = require('database-sistem')

exports.run = async(client, message, args) => {

const db = new Db({
    path: `./database.json`,
    seperator: ".",
    spaces: 10
});
message.channel.send({content : "selam"})
db.add("a",1)
}

exports.help = {
    name: "örnek", // Komutun İsmi
    aliases: ["örnek"] // Komutun Diğer Kullanım örnekleri Array İçinde yapınız
}

siz her örnek komutunu çalıştırdığınızda chate selam yazacak ve ayrıca databasede bulunan "a" değerini 1 arttıracak, ayrıca database.json isminde bir dosyanız da var.

eğer database.json isimli dosyayı açarsanız aşağıdaki görüntü karşınıza çıkacaktır.

{
  "a": 1
}

siz derseniz bu databasedeki veriyi nasıl okuyup chate yazdırabilirim derseniz size bir örnek vereyim.

örnek kod 2

// örnek komut
const discord = require("discord.js")
const config = require("../../config.json")
// burada embed oluşturucusu
const { EmbedBuilder } = require('discord.js');
// databaseyi çağırıyoruz
const Db = require('database-sistem')

exports.run = async(client, message, args) => {
// burada databasenin bulunduğu dosyayı çağırıyoruz
const db = new Db({
    path: `./database.json`,
    seperator: ".",
    spaces: 10
});

const exampleEmbed = new EmbedBuilder()
// embedin kenarındaki renk
.setColor("Random")
.setAuthor({ name : `${message.author.username}`, iconURL: `${message.author.displayAvatarURL({ dynamic: true, size: 1024 })}`})
.setThumbnail(message.author.displayAvatarURL({ dynamic: true, size: 1024 }))
.setDescription(`paranız ${db.get("a")} kadardır`)
message.channel.send({content : "selam", embeds:[exampleEmbed]})

}

exports.help = {
    name: "test1", // Komutun İsmi
    aliases: ["test1"] // Komutun Diğer Kullanım örnekleri Array İçinde yapınız
}

sonucu ise aşağıdaki görseldeki gibidir, sizler istediğiniz gibi ayarlayabilirsiniz.

alt text

Not: Bu özellikler dahalen geliştirme aşamasındadır. lütfen daha iyi özellikler için bekleyiniz.

iletişime geçmek için

Discord sunucusu

güncelleme notları

1.0.4 & 1.0.5

  • has fonksiyonu düzeltildi.
  • pull fonksiyonu eklendi.
  • find fonksiyonu eklendi.
  • update fonksiyonu eklendi.

1.0.3

  • has fonksiyonu geçici olarak kaldırıldı, lütfen alternatifini kullanın.
  • includes fonksiyonu eklendi.
  • bir web sayfası üzerinde çalışmalar yapılıyor.
  • size fonksiyonu eklendi.

1.0.2

  • bu sürümde readme sayfasındaki bilgiler arttırıldı.
  • yeni özellik olan splice özelliği eklendi.
  • örnekler eklendi.
1.0.2

1 year ago

1.0.5

1 year ago

1.0.3

1 year ago

1.0.0

1 year ago