angledb v1.0.7
Angledb
Biblioteca de Nodejs, voltada para a criação e edição simples de um banco de dados JSON.
Intalação
$ npm install angledb
Uso
const angledb = require("angledb")
const db = angledb("./database.json") // passe o local do arquivo.json + configurações gerais
- Configurações gerais
create?: { unshift?: boolean, length_id?: number }
Métodos
O Angledb usa o sistema CRUD (Create, Read, Update, Delete).
Create
Use o create() para criar um objeto e inserir no database estabelecido.
db.create({
name: "User",
email: "user.me@example.com"
})
database.json
[ { "_id": "Jah5Fb0Pfa34Vbg8", "name": "User", "email": "user.me@example.com" } ]
A chave
_id
foi gerada automaticamente. É possível mudar seu tamanho(quantidade de caracteres), inserindo nas configurações gerais ou no próprio método, sando o parâmetrolength_id: number
Também é possível alterar a posição do item criado, podendo ser no início da database ou no final da database. Usando o parâmetro
unshift: true
, o elemento criado vai diretamente para o início da database.
Read
Use o read() para ler o database. retornando um object ou um array
Se a função
read()
, não passar nenhum parametro, se é listado todo o database. Ou pode-se passar o parametro_id
para buscar determinado item.const readAll = db.read() const readId = db.read("Jah5Fb0Pfa34Vbg8")
console.log("todos os items do database:\n" + readAll) console.log("item com o _id mencionado:\n" + readId)
todos os items do database: { "_id": "Jah5Fb0Pfa34Vbg8", "name": "User", "email": "user.me@example.com" }, { "_id": "aK8Br4lOI34vGdFA", "name": "User2", "email": "user2.me@example.com" }
item com o _id mencionado: { "_id": "Jah5Fb0Pfa34Vbg8", "name": "User", "email": "user.me@example.com" }
### Update
Use o update() para editar/adicionar algum elemento em um item presente no _database_.
> Passando o `_id` do item que deseja alterar. Retornando o item já alterado.
```js
db.update("Jah5Fb0Pfa34Vbg8", {
name: "NewUser",
email: "NewUser.me@example.com",
work: "programmer" // novo elemento
})
Delete
Use o delete() para deletar um item presente no database.
Passando o
_id
do item que deseja deletar.
Limites
Ao passar objetos Javascript ou JSON grandes (~ 10-100 MB), talvez ocorrerá problemas no desempenho do seu projeto, voltado ao angledb.
Por que?
O angledb funciona apartir da função writeFile, que usa o JSON.stringify e o JSON.parse. Com isso pode demorar para processar tais dados. Tendo em vista esses processos você pode optar por separar determinados databases, ou recorrer a outros metodos de database.
// Exemplo de separacao
const db = {
users: angledb("./database/users.json"),
vehicles: angledb("./databse/vehicle.json")
}
db.users.read() // Exemplo de uso.
Licença
Esse projeto está sob licença. Veja o arquivo LICENÇA para mais detalhes