Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
mega-dtbs es un package que te permite trabajar con una base de datos de forma sencilla y persistente.
Contiene multiples metodos para facilitarte el uso de almacenar, recaudar y actualizar datos.
npm install mega-dtbs
const db = require('mega-dtbs');
Esta funcion te permite crear una especifica base de datos mediante un nombre, si el nombre de la base de datos que pusiste ya existia, lo que hara es devolver
los datos existentes, de lo contrario creara uno.
let niveles = new db.crearDB('niveles')
Esta funcion te permite crear datos mediante una clave, tambien te permite actualizar datos existentes por nuevos.
Si quieres crear o actualizar propiedades especificas de un objeto, puedes usar el . seguido del nombre de la propiedad.
Esto retornara una promesa con los nuevos datos.
niveles.agregar('MegaStar', {xp: 0, nivel: 10}) // retorna {xp: 0, nivel: 10}
niveles.agregar('MegaStar.xp', 100) // retorna {xp: 100, nivel: 10}
niveles.agregar('MoDeR', 100) // retorna 100
niveles.agregar('MoDeR.datos.monedas', 200) // retorna {datos: {monedas: 200}}
niveles.agregar('MoDeR.datos.banco', 1000) // retorna {datos: {monedas: 200, banco: 1000}}
niveles.agregar('RatSageM', []) // retorna []
Esta funcion te permite obtener los datos de una clave.
Tambien te permite obtener datos de una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con los datos que se obtuvo, de lo contrario retornara null.
niveles.obtener('MegaStar') // retorna {xp: 100, nivel: 10}
niveles.obtener('MegaStar.nivel') // retorna 10
niveles.obtener('MoDeR.datos.banco') // retorna 1000
Esta funcion te permite verificar si existe una clave en la base de datos.
Tambien te permite verificar una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara true si existe, de lo contrario retornara false.
niveles.tiene('MegaStar') // retorna true
niveles.tiene('Mario') // retorna false
niveles.tiene('MegaStar.monedas') // retorna false
niveles.tiene('MoDeR.datos.monedas') // retorna true
Esta funcion te permite eliminar una clave de la base de datos.
Tambien te permite eliminar una propiedad especificas usando el . seguido del nombre de la propiedad.
Esto retornara true si se elimino correctamente, de lo contrario retornara false.
niveles.eliminar('MegaStar.xp') //retorna true
niveles.eliminar('MoDeR.datos.banco') //retorna true
niveles.eliminar('Mario') //retorna false
niveles.tiene('MoDeR.datos.banco') // retorna false porque lo eliminamos
niveles.tiene('MegaStar.xp') // retorna false porque lo eliminamos
niveles.obtener('MegaStar') // retorna {nivel: 10}
niveles.obtener('MoDeR.datos') // retorna {monedas: 200}
Esta funcion regresa todas las claves con su respectivo valor de una base de datos.
Esto retornara una promesa con todos los datos.
niveles.datos()
// retorna
{
"MegaStar": {
nivel: 10
},
"MoDeR": {
"datos": {
"monedas": 100
}
},
"RatSageM": []
}
Esta funcion te permite agregar un elemento a un array.
Tambien te permite agregarlo en una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con el array actualizado, de lo contrario si la ruta donde quieres agregarlo no es un array, retornara "Array no encontrado".
niveles.push('RatSageM', 'manzana') // retorna ["manzana"]
niveles.agregar('MGstar', {items: ["platano"]}) // retorna {items: ["platano"]}
niveles.push('MGstar', 'sandia') // retorna "Array no encontrado."
niveles.push('MGstar.items', 'sandia') // retorna ["platano", "sandia"]
Esta funcion te permite remover un elemento de un array.
Tambien te permite remover un elemento en una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con el array actualizado, si la ruta donde quieres agregarlo no es un array, retornara "Array no encontrado" y si el array no contiene el valor que pusiste, retornara "elemento {nombre_item} no encontrado"
niveles.extract('MGstar', 'platano') // retorna "Array no encontrado."
niveles.extract('MGstar.items', 'platano') // retorna ["sandia"]
niveles.extract('MGstar.items', 'durazno') // retorna "elemento durazno no encontrado."
Esta funcion te permite sumar una cantidad especifica a una clave, el valor de la clave debe ser un numero.
Tambien te permite sumarlo en una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con el valor actualizado, de lo contrario retornara "Numero no encontrado."
niveles.agregar('Nelson', 20) //retorna 20
niveles.sumar('Nelson', 25) //retorna 45
niveles.agregar('Sun.datos.monedas', 10) // retorna {datos: {monedas: 10}}
niveles.sumar('Sun.datos', 90) //retorna "Numero no encontrado."
niveles.sumar('Sun.datos.monedas', 90) // retorna {datos: {monedas: 100}}
Esta funcion te permite restar una cantidad especifica a una clave, el valor de la clave debe ser un numero.
Tambien te permite restarlo en una propiedad especifica usando el . seguido del nombre de la propiedad.
Esto retornara una promesa con el valor actualizado, de lo contrario retornara "Numero no encontrado."
niveles.restar('Nelson', 40) //retorna 5
niveles.restar('Sun.datos', 100) //retorna "Numero no encontrado."
niveles.restar('Sun.datos.monedas', 100) // retorna {datos: {monedas: 0}}
const db = require('mega-dtbs');
let estadisticas = new db.crearDB('niveles');
let randomXP = Math.floor(Math.random() * 60) + 1;
if(!estadisticas.tiene('MegaStar')) {
estadisticas.agregar('MegaStar', {xp: 0, nivel: 1});
}
estadisticas.obtener('MegaStar').then(datos => {
if((randomXP + datos.xp) >= 50) {
estadisticas.agregar('MegaStar', {xp: 0, nivel: datos.nivel + 1}).then(nuevos_datos => {
console.log(`MegaStar subio al nivel ${nuevos_datos.nivel}!`)
}).catch(err => console.log(err))
}
else{
estadisticas.sumar('MegaStar.xp', randomXP)
}
}).catch(err => console.log(err))
/////////////////////////////////////////////////////
const db = require('mega-dtbs');
let escuela = new db.crearDB('alumnos');
escuela.agregar('MegaStar', {edad: 20, profesion: ['programador']});
escuela.agregar('MoDeR', {edad: 18, profesion: ['programador']});
escuela.agregar('RatSageM', {edad: 25, profesion: ['maestro']});
escuela.datos().then(alumnos => {
for(var alumno in alumnos) {
if(alumnos[alumno].profesion.includes('programador')) {
escuela.push(`${alumno}.profesion`, 'javascript');
continue;
}
escuela.eliminar(`${alumno}`)
}
}).catch(error => console.log(error))
//resultado final:
{
"MegaStar": {
"edad": 20,
"profesion": ["programador", "javascript"]
},
"MoDeR": {
"edad": 18,
"profesion": ["programador", "javascript"]
}
}
/////////////////////////////////////////////////////
const db = require('mega-dtbs');
let mercado_db = new db.crearDB('mercado');
let nombres = ['manzana', 'melocoton', 'sandia', 'lechuga']
mercado_db.agregar('frutas', nombres); //esto retorna ['manzana', 'melocoton', 'sandia', 'lechuga']
mercado_db.obtener('frutas').then(f => {
for(var x = 0; x < f.length; x++) {
if(f[x] == 'lechuga') {
mercado_db.extract('lechuga') //esto retorna ['manzana', 'melocoton', 'sandia']
console.log(`La ${f[x]} no es una fruta, acabo de removerlo.`)
break;
}
}
})
//resultado final:
{
"frutas": ["manzana", "melocoton", "sandia"]
}
FAQs
simple database
The npm package mega-dtbs receives a total of 16 weekly downloads. As such, mega-dtbs popularity was classified as not popular.
We found that mega-dtbs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.