mpackdb
All repositories: gitoria
1.0 KB
import MPackDB from '../src/MPackDB.js';import { rm } from 'fs/promises';await rm('test-compact-isolated', { recursive: true, force: true });const db = new MPackDB('test-compact-isolated/records', {primaryKey: '*id',indexes: ['*id', 'email', '*score'],indexPersistThreshold: 100000,indexPersistInterval: 0});console.log('Insert 10,000 records...');for (let i = 0; i < 10_000; i++) {await db.insert({email: `user${i}@example.com`,name: `User ${i}`,score: Math.floor(Math.random() * 100),data: `Data ${i}`});}console.log('Randomly select 500 IDs to delete...');const idsToDelete = new Set();while (idsToDelete.size < 500) {idsToDelete.add(Math.floor(Math.random() * 10_000));}console.log('Delete...');const deletedRecords = await db.delete(r => idsToDelete.has(r.id));console.log(`Deleted: ${deletedRecords.length}`);console.log('Count records...');let count = 0;for await (const rec of db.find()) count++;console.log(`Found: ${count} (expected ${10000 - deletedRecords.length})`);await db.close();await rm('test-compact-isolated', { recursive: true, force: true });
Branches
- mastermain branch
Latest commits
- cde73eb4release 1.0.6caramboleyo
- d01dda02add index hints, intersection, boundingBox; remove findByIndexcaramboleyo
- b8ffc1a0release 1.0.5caramboleyo
- d47876a1reimplemented lost features like indexed find and more testscaramboleyo
- 7f08da9afixed insert ignoring model definitioncaramboleyo
- 705774a9added flush before findcaramboleyo
- b4db6391initial commitcaramboleyo