Lokijs é um banco de dados de memória que coloca as considerações de desempenho em primeiro lugar.
O LOKIJS suporta indexação e acesso mais rápido ao documento, com desempenho de execução muito bom (quase 500.000 OPS/s). Sua classe DynamicView integrada pode ser usada para indexar subconjuntos de dados e até obter um desempenho mais rápido.
*Leia este artigo para ver o desempenho dos Lokijs.
O Lokijs suporta coleções (conjuntos de dados), que é muito semelhante ao MongoDB, e salva dados no disco no formato JSON, para que seus dados sejam portáteis.
Os Lokijs podem ser executados no Node.js e no lado do navegador.
O JavaScript é uma linguagem simples e fácil de aprender e universal, por isso é muito fácil desenvolver um banco de dados JavaScript e é muito eficiente. Se o seu MongoDB não estiver aposentado, você poderá achar que os Lokijs são uma solução mais ideal nessas situações:
1. Aplicativos móveis - especialmente aplicativos HTML. (Cordova, PhoneGap)
2.node.js armazenamento de dados embutido projetado para aplicativos pequenos e médios
3. Aplicações internas no desktop (Webkit do Node)
O Lokijs está suportando servidores independentes e pode ser acessado usando o cliente HTTP/TCP.
Escolha o seu paradigma favorito
A funcionalidade de Lokijs utiliza totalmente o poder do JavaScript.
Se a programação funcional for o seu estilo preferido, você definitivamente deseja usar as visualizações para consultar dados.
Você também pode usar o shell preferido do MongoDB para consultar objetos de texto.
Início rápido
Instalar
Os Lokijs podem ser instalados no NPM e no Bower. Correr:
A cópia do código é a seguinte:
NPM Instale Lokijs
ou
A cópia do código é a seguinte:
Bower Instale Lokijs
usar
Crie um banco de dados:
A cópia do código é a seguinte:
var db = new Loki ('Loki.json')
Passe no arquivo JSON que você precisa para salvar os dados
Crie um conjunto de dados:
A cópia do código é a seguinte:
Var Children = db.addcollection ('filhos')
Insira o documento:
A cópia do código é a seguinte:
Children.Insert ({Nome: 'sleipnir', pernas: 8})
filhos.Insert ({Nome: 'Jormungandr', pernas: 0})
filhos.Insert ({Nome: 'Hel', pernas: 2})
Obtenha a documentação:
A cópia do código é a seguinte:
filhos.get (1); // retorna Sleipnir
filhos.find ({'nome': 'sleipnir'})
filhos.find ({pernas: {'$ gt': 2}})
Crie uma visão dinâmica:
A cópia do código é a seguinte:
vars vars = crianças.adddynamicview ('pernas');
pernas.applyfind ({pernas: {'$ gt': 2})
pernas.ApplySimplesOrt ('pernas');
pernas.data ();
MapReduce (agregação de dados):
A cópia do código é a seguinte:
crianças.Mapreduce (
function (obj) {return obj.legs; },
função (matriz) {
var sum = 0;
for (var i = 0; i <array.length; i ++) {
soma += matriz [i];
}
return (soma / array.length) .tofixado (2);
});