Bienvenido a la documentación completa de LokiJS. Esta documentación cubre todas las características y funcionalidades del proyecto.
- README.md - Introducción y guía de inicio rápido
- OVERVIEW.md - Visión general del proyecto
- REPLICATION.md - Guía completa de replicación Leader-Follower
- Configuración de Leader y Follower
- Oplog persistente
- Sincronización y manejo de IDs
- API de replicación
- VECTOR_SEARCH.md - Búsqueda vectorial con HNSW
- Creación de índices vectoriales
- Búsqueda de vecinos más cercanos
- Búsqueda híbrida
- Optimización y rendimiento
- MRU_CACHE.md - Sistema de caché MRU
- Configuración y uso
- Política de evicción
- Rendimiento y mejores prácticas
- TCP_SERVER.md - Servidor TCP de alto rendimiento
- Protocolo y formato de mensajes
- Acciones soportadas
- Ejemplos de clientes
- Seguridad y mejores prácticas
Los tutoriales están disponibles en el directorio tutorials/:
- Query Examples.md - Ejemplos de consultas
- Autoupdating Collections.md - Colecciones auto-actualizables
- Loki Angular.md - Integración con Angular
- Persistence Adapters.md - Adaptadores de persistencia
- Indexing and Query performance.md - Optimización de índices
- Changes API.md - API de cambios
- Collection Transforms.md - Transformaciones de colecciones
Los ejemplos están disponibles en el directorio examples/:
quickstart1.js- Inicio rápido básicoquickstart2.js- Consultas y filtrosquickstart3.js- Vistas dinámicasquickstart4.js- Transformsvector-search-example.js- Búsqueda vectorialsession-store-tcp.js- Servidor TCP- Y más...
Clase principal de la base de datos.
const db = new loki('database.db', {
autosave: true,
autosaveInterval: 5000,
autoload: true
});Colección de documentos.
const users = db.addCollection('users', {
indices: ['age'],
unique: ['email']
});Vista dinámica con filtros y ordenamiento.
const view = users.addDynamicView('adults');
view.applyFind({ age: { $gte: 18 } });
view.applySimpleSort('name');Operation log para replicación.
const LokiOplog = require('./src/loki-oplog.js');
const oplog = new LokiOplog({ db: db });Caché MRU para mejor rendimiento.
const MRUCache = require('./src/mru-cache.js');
collection.mruCache = new MRUCache(100);Búsqueda vectorial con HNSW.
require('./src/loki-vector-plugin.js');
collection.ensureVectorIndex('embedding', {
distanceFunction: 'cosine'
});El servidor HTTP proporciona una API REST completa:
GET /- Estado del servidorPOST /collections- Crear colecciónPOST /collections/:name/insert- Insertar documentosPOST /collections/:name/find- Buscar documentosPOST /collections/:name/search- Búsqueda vectorialPOST /collections/:name/update- Actualizar documentosPOST /collections/:name/remove- Eliminar documentosPOST /collections/:name/cache- Habilitar caché MRUGET /replication/changes- Cambios para replicaciónGET /replication/oplog/stats- Estadísticas del oplog
Ver server/index.js para más detalles.
Servidor TCP de alto rendimiento con protocolo JSON delimitado por nuevas líneas.
Ver TCP_SERVER.md para documentación completa.
Ver CONTRIBUTING.md para guías de contribución.
# Tests de Node.js
npm run test:node
# Tests de navegador
npm run test:browser
# Todos los tests
npm test# Build de producción
npm run build
# Linting
npm run lint- GitHub: https://github.com/techfort/LokiJS
- Website: https://techfort.github.io/LokiJS/
- Sandbox: https://rawgit.com/techfort/LokiJS/master/examples/sandbox/LokiSandbox.htm
Última actualización: 2025-12-06