-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
50 lines (37 loc) · 1.24 KB
/
Copy pathindex.js
File metadata and controls
50 lines (37 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
const EventDB = require('./event-db');
const { faker } = require('@faker-js/faker');
const documentCount = 3;
async function main() {
try {
const db = new EventDB('names');
const names = Array.from({ length: documentCount }).map( () => {
return faker.name.firstName();
});
console.time('insertMany');
const { results } = await db.insertMany( names );
console.timeEnd('insertMany');
const randomDocument = results[
Math.floor( Math.random() * documentCount )
];
console.log( 'randomDocument', randomDocument );
console.time('find');
const found = await db.findById( randomDocument.id );
console.timeEnd('find');
console.log( 'found', found );
console.time('update');
await db.updateById( randomDocument.id, 'Tom' );
console.timeEnd('update');
console.time('findUpdate');
const updated = await db.findById( randomDocument.id );
console.timeEnd('findUpdate');
console.log( 'updated', updated );
await db.compactor.compact();
console.time('findUpdate');
const updated2 = await db.findById( randomDocument.id );
console.timeEnd('findUpdate');
console.log( 'updated', updated2 );
} catch ( err ) {
console.error( err );
}
}
main().then();