Lokijs es una base de datos en memoria que pone las consideraciones de rendimiento primero.
Lokijs admite la indexación y el acceso a documentos más rápido, con un rendimiento de ejecución muy bueno (casi 500,000 OPS/seg). Su clase DynamicView incorporada se puede usar para indexar subconjuntos de datos e incluso obtener un rendimiento más rápido.
*Lea este artículo para ver el rendimiento de Lokijs.
Lokijs admite colecciones (conjuntos de datos), que es muy similar a MongoDB, y guarda datos en el disco en formato JSON, por lo que sus datos son portátiles.
Lokijs puede ejecutarse en Node.js y el lado del navegador.
JavaScript es un lenguaje simple y fácil de aprender y universal, por lo que es muy fácil desarrollar una base de datos JavaScript y es muy eficiente. Si su MongoDB no está retirado, puede encontrar que los Lokijs son una solución más ideal en estas situaciones:
1. Aplicaciones móviles, especialmente aplicaciones HTML. (Cordova, phonegap)
2.node.js Almacenamiento de datos incorporado diseñado para aplicaciones pequeñas a medianas
3. Aplicaciones incorporadas en el escritorio (nodo webkit)
Lokijs es compatible con servidores independientes y se puede acceder con el cliente HTTP/TCP.
Elige tu paradigma favorito
La funcionalidad de Lokijs utiliza completamente el poder de JavaScript.
Si la programación funcional es su estilo preferido, definitivamente le gustaría usar vistas para consultar datos.
También puede usar su shell MongoDB preferido para consultar objetos de texto.
Comienzo rápido
Instalar
Los Lokijs se pueden instalar en NPM y Bower. Correr:
La copia del código es la siguiente:
NPM install lokijs
o
La copia del código es la siguiente:
Bower install lokijs
usar
Crear una base de datos:
La copia del código es la siguiente:
var db = new Loki ('loki.json')
Pase en el archivo JSON que necesita para guardar los datos
Crear un conjunto de datos:
La copia del código es la siguiente:
VAR Children = db.addCollection ('niños')
Inserte el documento:
La copia del código es la siguiente:
Children.insert ({nombre: 'Sleipnir', piernas: 8})
Children.insert ({nombre: 'Jormungandr', piernas: 0})
Children.insert ({Nombre: 'Hel', Legs: 2})
Obtenga la documentación:
La copia del código es la siguiente:
niños.get (1); // Devuelve Sleipnir
Children.Find ({'Nombre': 'Sleipnir'})
Children.Find ({Legs: {'$ gt': 2}})
Crea una vista dinámica:
La copia del código es la siguiente:
Var Legs = Children.adddynamicView ('Legs');
Legs.applyfind ({Legs: {'$ gt': 2})
piernas.applySimplePleSort ('piernas');
piernas.data ();
MapReduce (agregación de datos):
La copia del código es la siguiente:
niños.mapreduce (
función (obj) {return obj.legs; },
función (array) {
var sum = 0;
para (var i = 0; i <array.length; i ++) {
sum += array [i];
}
return (suma / array.length) .tofixed (2);
});