mongolite-ts 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -4
- package/dist/collection.d.ts +56 -1
- package/dist/collection.js +156 -0
- package/dist/collection.js.map +1 -1
- package/dist/cursors/findCursor.d.ts +11 -0
- package/dist/cursors/findCursor.js +30 -6
- package/dist/cursors/findCursor.js.map +1 -1
- package/dist/types.d.ts +93 -10
- package/dist/utils/indexing.d.ts +4 -0
- package/dist/utils/indexing.js +43 -0
- package/dist/utils/indexing.js.map +1 -0
- package/package.json +6 -5
- package/dist/document-utils.d.ts +0 -34
- package/dist/document-utils.js +0 -101
- package/dist/document-utils.js.map +0 -1
- package/dist/find-cursor.d.ts +0 -51
- package/dist/find-cursor.js +0 -204
- package/dist/find-cursor.js.map +0 -1
- package/dist/query-builder.d.ts +0 -18
- package/dist/query-builder.js +0 -358
- package/dist/query-builder.js.map +0 -1
- package/dist/update-operations.d.ts +0 -17
- package/dist/update-operations.js +0 -147
- package/dist/update-operations.js.map +0 -1
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ A MongoDB-like client that uses SQLite as its underlying persistent store. Writt
|
|
|
11
11
|
* MongoDB-like API (`insertOne`, `findOne`, `updateOne`, `deleteOne`, etc.)
|
|
12
12
|
* SQLite backend for persistence.
|
|
13
13
|
* Automatic `_id` (UUID) generation and indexing.
|
|
14
|
+
* Support for Write Ahead Logging (WAL) mode for better concurrency.
|
|
14
15
|
* Support for querying JSON fields.
|
|
15
16
|
* Written in TypeScript with strong typing.
|
|
16
17
|
* 100% test coverage (aiming for).
|
|
@@ -180,17 +181,18 @@ Finds multiple documents matching the filter and returns a cursor.
|
|
|
180
181
|
|
|
181
182
|
Updates a single document matching the filter.
|
|
182
183
|
|
|
183
|
-
* `filter`: The
|
|
184
|
-
* `update`: The
|
|
185
|
-
* Returns `UpdateResult`: `{ acknowledged: boolean; matchedCount: number; modifiedCount: number; upsertedId: string | null; }`.
|
|
184
|
+
* `filter`: The selection criteria for the update.
|
|
185
|
+
* `update`: The modifications to apply. Supports operators like `$set`, `$unset`, `$inc`, `$push`, `$pull`.
|
|
186
|
+
* Returns `UpdateResult`: `{ acknowledged: boolean; matchedCount: number; modifiedCount: number; upsertedId: string | null; }`.
|
|
186
187
|
|
|
187
188
|
#### `async deleteOne(filter: Filter<T>): Promise<DeleteResult>`
|
|
188
189
|
|
|
189
190
|
Deletes a single document matching the filter.
|
|
190
191
|
|
|
191
|
-
* `filter`: The
|
|
192
|
+
* `filter`: The selection criteria for the deletion.
|
|
192
193
|
* Returns `DeleteResult`: `{ acknowledged: boolean; deletedCount: number; }`.
|
|
193
194
|
|
|
195
|
+
|
|
194
196
|
### `FindCursor<T>`
|
|
195
197
|
|
|
196
198
|
#### `async toArray(): Promise<T[]>`
|
|
@@ -249,6 +251,105 @@ The `update` parameter in `updateOne` supports the following:
|
|
|
249
251
|
* `{ $pull: { arrayField: valueOrCondition, ... } }`: Removes all instances of a value or values that match a condition from an array.
|
|
250
252
|
* `{ $pull: { scores: 0 } }`
|
|
251
253
|
* `{ $pull: { items: { id: { $in: [1, 2] } } } }` (More complex conditions for $pull might be limited initially)
|
|
254
|
+
#### `async createIndex(fieldOrSpec: string | IndexSpecification, options?: CreateIndexOptions): Promise<CreateIndexResult>`
|
|
255
|
+
|
|
256
|
+
Creates an index on the specified field(s) of the collection.
|
|
257
|
+
|
|
258
|
+
* `fieldOrSpec`: Either a string field name or an index specification object (e.g., `{ name: 1, age: -1 }`).
|
|
259
|
+
* `options`: Optional settings for the index creation.
|
|
260
|
+
* `unique`: If `true`, the index will enforce uniqueness of the indexed field.
|
|
261
|
+
* `name`: Custom name for the index. If not provided, a name will be generated automatically.
|
|
262
|
+
* `background`: If `true`, creates the index in the background (in SQLite, this might not have a significant effect).
|
|
263
|
+
* `sparse`: If `true`, ignores documents that don't have the indexed field (for MongoDB compatibility).
|
|
264
|
+
* Returns `CreateIndexResult`: `{ acknowledged: boolean; name: string; }`.
|
|
265
|
+
|
|
266
|
+
```typescript
|
|
267
|
+
// Create a simple index on the "name" field
|
|
268
|
+
await usersCollection.createIndex({ name: 1 });
|
|
269
|
+
|
|
270
|
+
// Create a unique index on the "email" field
|
|
271
|
+
await usersCollection.createIndex({ email: 1 }, { unique: true });
|
|
272
|
+
|
|
273
|
+
// Create a compound index on multiple fields
|
|
274
|
+
await usersCollection.createIndex({ name: 1, age: -1 });
|
|
275
|
+
|
|
276
|
+
// You can even create an index on a nested field
|
|
277
|
+
await usersCollection.createIndex({ 'address.city': 1 });
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
#### `listIndexes(): { toArray: () => Promise<IndexInfo[]> }`
|
|
281
|
+
|
|
282
|
+
Lists all indexes on the collection.
|
|
283
|
+
|
|
284
|
+
* Returns an object with a `toArray()` method that resolves to an array of `IndexInfo` objects.
|
|
285
|
+
* Each `IndexInfo` contains: `name` (string), `key` (object mapping field names to sort direction), and `unique` (boolean).
|
|
286
|
+
|
|
287
|
+
```typescript
|
|
288
|
+
const indexes = await usersCollection.listIndexes().toArray();
|
|
289
|
+
console.log('Available indexes:', indexes);
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
#### `async dropIndex(indexName: string): Promise<DropIndexResult>`
|
|
293
|
+
|
|
294
|
+
Drops a specified index from the collection.
|
|
295
|
+
|
|
296
|
+
* `indexName`: The name of the index to drop.
|
|
297
|
+
* Returns `DropIndexResult`: `{ acknowledged: boolean; name: string; }`.
|
|
298
|
+
|
|
299
|
+
#### `async dropIndexes(): Promise<{ acknowledged: boolean; droppedCount: number }>`
|
|
300
|
+
|
|
301
|
+
Drops all indexes from the collection, except for the index on _id.
|
|
302
|
+
|
|
303
|
+
* Returns an object with `acknowledged` (boolean) and `droppedCount` (number) indicating how many indexes were dropped.
|
|
304
|
+
## Performance Benchmarks
|
|
305
|
+
|
|
306
|
+
*Last updated: 2025-07-25*
|
|
307
|
+
|
|
308
|
+
### Operation Performance
|
|
309
|
+
|
|
310
|
+
| Operation | Records Tested | Duration (ms) | Ops/Second | Avg Time/Op (ms) |
|
|
311
|
+
|-----------|----------------|---------------|------------|------------------|
|
|
312
|
+
| INSERT | 10,000 | 48572.42 | 206 | 4.857 |
|
|
313
|
+
| QUERY_SIMPLE | 1,000 | 56.67 | 17646 | 0.057 |
|
|
314
|
+
| QUERY_COMPLEX | 500 | 38.30 | 13054 | 0.077 |
|
|
315
|
+
| QUERY_ARRAY | 500 | 3761.94 | 133 | 7.524 |
|
|
316
|
+
| QUERY_FIND_MANY | 100 | 40.74 | 2454 | 0.407 |
|
|
317
|
+
| UPDATE | 1,000 | 5849.96 | 171 | 5.850 |
|
|
318
|
+
| DELETE | 1,000 | 16064.51 | 62 | 16.065 |
|
|
319
|
+
|
|
320
|
+
### Storage Capacity
|
|
321
|
+
|
|
322
|
+
| Records | Database Size (MB) | Avg Record Size (bytes) |
|
|
323
|
+
|---------|-------------------|------------------------|
|
|
324
|
+
| 1,000 | 0.44 | 459 |
|
|
325
|
+
| 10,000 | 4.27 | 448 |
|
|
326
|
+
| 50,000 | 21.36 | 448 |
|
|
327
|
+
| 100,000 | 42.75 | 448 |
|
|
328
|
+
|
|
329
|
+
### Notes
|
|
330
|
+
|
|
331
|
+
- **INSERT**: Individual insertOne() operations
|
|
332
|
+
- **QUERY_SIMPLE**: Single field queries with operators
|
|
333
|
+
- **QUERY_COMPLEX**: Multi-field queries with nested objects
|
|
334
|
+
- **QUERY_ARRAY**: Queries searching within arrays
|
|
335
|
+
- **QUERY_FIND_MANY**: Batch queries returning up to 100 records
|
|
336
|
+
- **UPDATE**: Individual updateOne() operations with $set
|
|
337
|
+
- **DELETE**: Individual deleteOne() operations
|
|
338
|
+
|
|
339
|
+
**Storage Characteristics:**
|
|
340
|
+
- SQLite databases scale well with MongoLite
|
|
341
|
+
- Average record size includes JSON overhead and SQLite indexing
|
|
342
|
+
- Practical limits depend on available disk space and memory
|
|
343
|
+
- WAL mode provides better concurrent access for larger datasets
|
|
344
|
+
|
|
345
|
+
**Recommendations:**
|
|
346
|
+
- For high-performance scenarios, consider batching operations
|
|
347
|
+
- Use indexing for frequently queried fields
|
|
348
|
+
- Monitor database file size growth with your specific data patterns
|
|
349
|
+
|
|
350
|
+
## Development
|
|
351
|
+
```
|
|
352
|
+
|
|
252
353
|
|
|
253
354
|
## Development
|
|
254
355
|
|
package/dist/collection.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SQLiteDB } from './db.js';
|
|
2
|
-
import { DocumentWithId, Filter, UpdateFilter, InsertOneResult, UpdateResult, DeleteResult, Projection } from './types.js';
|
|
2
|
+
import { DocumentWithId, Filter, UpdateFilter, InsertOneResult, UpdateResult, DeleteResult, Projection, IndexSpecification, CreateIndexOptions, CreateIndexResult, DropIndexResult, IndexInfo } from './types.js';
|
|
3
3
|
import { FindCursor } from './cursors/findCursor.js';
|
|
4
4
|
/**
|
|
5
5
|
* MongoLiteCollection provides methods to interact with a specific SQLite table
|
|
@@ -65,6 +65,61 @@ export declare class MongoLiteCollection<T extends DocumentWithId> {
|
|
|
65
65
|
* @returns {Promise<UpdateResult>} An object describing the outcome.
|
|
66
66
|
*/
|
|
67
67
|
updateMany(filter: Filter<T>, update: UpdateFilter<T>): Promise<UpdateResult>;
|
|
68
|
+
/**
|
|
69
|
+
* Creates an index on the specified field(s) of the collection.
|
|
70
|
+
*
|
|
71
|
+
* @param fieldOrSpec The field or specification to create the index on.
|
|
72
|
+
* @param options Options for creating the index.
|
|
73
|
+
* @returns A promise that resolves to the result of the operation.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* // Create a simple index on the "name" field
|
|
77
|
+
* collection.createIndex({ name: 1 });
|
|
78
|
+
*
|
|
79
|
+
* // Create a unique index on the "email" field
|
|
80
|
+
* collection.createIndex({ email: 1 }, { unique: true });
|
|
81
|
+
*
|
|
82
|
+
* // Create a compound index on multiple fields
|
|
83
|
+
* collection.createIndex({ name: 1, age: -1 });
|
|
84
|
+
*/
|
|
85
|
+
createIndex(fieldOrSpec: string | IndexSpecification, options?: CreateIndexOptions): Promise<CreateIndexResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Generate a MongoDB-like index name from an index specification.
|
|
88
|
+
* Format: collectionName_field1_1_field2_-1
|
|
89
|
+
*/
|
|
90
|
+
private generateIndexName;
|
|
91
|
+
/**
|
|
92
|
+
* Lists all indexes on the collection.
|
|
93
|
+
*
|
|
94
|
+
* @returns A promise that resolves to an object with a toArray method
|
|
95
|
+
* that returns the list of indexes.
|
|
96
|
+
*/
|
|
97
|
+
listIndexes(): {
|
|
98
|
+
toArray: () => Promise<IndexInfo[]>;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Drops a specified index from the collection.
|
|
102
|
+
*
|
|
103
|
+
* @param indexName The name of the index to drop.
|
|
104
|
+
* @returns A promise that resolves to the result of the operation.
|
|
105
|
+
*/
|
|
106
|
+
dropIndex(indexName: string): Promise<DropIndexResult>;
|
|
107
|
+
/**
|
|
108
|
+
* Drops all indexes from the collection, except for the index on _id.
|
|
109
|
+
*
|
|
110
|
+
* @returns A promise that resolves to the result of the operation.
|
|
111
|
+
*/
|
|
112
|
+
dropIndexes(): Promise<{
|
|
113
|
+
acknowledged: boolean;
|
|
114
|
+
droppedCount: number;
|
|
115
|
+
}>;
|
|
116
|
+
/**
|
|
117
|
+
* Prepends '$.' to the path for SQLite JSON functions.
|
|
118
|
+
* @private
|
|
119
|
+
* @param path Field path, e.g., 'address.city'
|
|
120
|
+
* @returns JSON path string for SQLite, e.g., '$.address.city'
|
|
121
|
+
*/
|
|
122
|
+
private parseJsonPath;
|
|
68
123
|
private setNestedValue;
|
|
69
124
|
private unsetNestedValue;
|
|
70
125
|
private getNestedValue;
|
package/dist/collection.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ObjectId } from 'bson';
|
|
2
2
|
import { FindCursor } from './cursors/findCursor.js';
|
|
3
|
+
import { extractRawIndexColumns } from './utils/indexing.js';
|
|
3
4
|
/**
|
|
4
5
|
* MongoLiteCollection provides methods to interact with a specific SQLite table
|
|
5
6
|
* as if it were a MongoDB collection.
|
|
@@ -443,6 +444,161 @@ export class MongoLiteCollection {
|
|
|
443
444
|
upsertedId: null, // We don't support upsert yet
|
|
444
445
|
};
|
|
445
446
|
}
|
|
447
|
+
/**
|
|
448
|
+
* Creates an index on the specified field(s) of the collection.
|
|
449
|
+
*
|
|
450
|
+
* @param fieldOrSpec The field or specification to create the index on.
|
|
451
|
+
* @param options Options for creating the index.
|
|
452
|
+
* @returns A promise that resolves to the result of the operation.
|
|
453
|
+
*
|
|
454
|
+
* @example
|
|
455
|
+
* // Create a simple index on the "name" field
|
|
456
|
+
* collection.createIndex({ name: 1 });
|
|
457
|
+
*
|
|
458
|
+
* // Create a unique index on the "email" field
|
|
459
|
+
* collection.createIndex({ email: 1 }, { unique: true });
|
|
460
|
+
*
|
|
461
|
+
* // Create a compound index on multiple fields
|
|
462
|
+
* collection.createIndex({ name: 1, age: -1 });
|
|
463
|
+
*/
|
|
464
|
+
async createIndex(fieldOrSpec, options = {}) {
|
|
465
|
+
await this.ensureTable();
|
|
466
|
+
// Convert string field to index spec format
|
|
467
|
+
const spec = typeof fieldOrSpec === 'string' ? { [fieldOrSpec]: 1 } : fieldOrSpec;
|
|
468
|
+
// Generate index name if not provided
|
|
469
|
+
const indexName = options.name || this.generateIndexName(spec);
|
|
470
|
+
// Build the index fields part for SQLite (field1, field2, ...)
|
|
471
|
+
const indexFields = Object.entries(spec)
|
|
472
|
+
.map(([field, direction]) => {
|
|
473
|
+
// For JSON field paths, we need to use json_extract
|
|
474
|
+
if (field.includes('.') || field !== '_id') {
|
|
475
|
+
const jsonPath = this.parseJsonPath(field);
|
|
476
|
+
return `json_extract(data, ${jsonPath}) ${direction === -1 ? 'DESC' : 'ASC'}`;
|
|
477
|
+
}
|
|
478
|
+
// For _id field, use the column directly
|
|
479
|
+
return `_id ${direction === -1 ? 'DESC' : 'ASC'}`;
|
|
480
|
+
})
|
|
481
|
+
.join(', ');
|
|
482
|
+
// Create the SQL for the index
|
|
483
|
+
const uniqueClause = options.unique ? 'UNIQUE' : '';
|
|
484
|
+
const createIndexSQL = `CREATE ${uniqueClause} INDEX IF NOT EXISTS "${indexName}" ON "${this.name}" (${indexFields})`;
|
|
485
|
+
try {
|
|
486
|
+
if (this.options.verbose) {
|
|
487
|
+
console.log(`Creating index ${indexName} on collection ${this.name}`);
|
|
488
|
+
}
|
|
489
|
+
await this.db.exec(createIndexSQL);
|
|
490
|
+
return { acknowledged: true, name: indexName };
|
|
491
|
+
}
|
|
492
|
+
catch (error) {
|
|
493
|
+
console.error(`Error creating index ${indexName} on collection ${this.name}:`, error);
|
|
494
|
+
throw error;
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Generate a MongoDB-like index name from an index specification.
|
|
499
|
+
* Format: collectionName_field1_1_field2_-1
|
|
500
|
+
*/
|
|
501
|
+
generateIndexName(spec) {
|
|
502
|
+
const nameParts = Object.entries(spec).map(([field, direction]) => `${field.replace(/\./g, '_')}_${direction}`);
|
|
503
|
+
return `${this.name}_${nameParts.join('_')}`;
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Lists all indexes on the collection.
|
|
507
|
+
*
|
|
508
|
+
* @returns A promise that resolves to an object with a toArray method
|
|
509
|
+
* that returns the list of indexes.
|
|
510
|
+
*/
|
|
511
|
+
listIndexes() {
|
|
512
|
+
return {
|
|
513
|
+
toArray: async () => {
|
|
514
|
+
await this.ensureTable();
|
|
515
|
+
try {
|
|
516
|
+
// Query SQLite master table for indexes on this collection
|
|
517
|
+
const indexes = await this.db.all(`SELECT name, sql FROM sqlite_master
|
|
518
|
+
WHERE type='index' AND tbl_name=? AND name NOT LIKE 'sqlite_autoindex%'`, [this.name]);
|
|
519
|
+
const results = [];
|
|
520
|
+
// Parse the SQL to determine indexed fields and options
|
|
521
|
+
for (const index of indexes) {
|
|
522
|
+
const indexInfo = {
|
|
523
|
+
name: index.name,
|
|
524
|
+
key: {},
|
|
525
|
+
};
|
|
526
|
+
// Parse the CREATE INDEX statement to extract field information
|
|
527
|
+
// Example: CREATE UNIQUE INDEX "users_email_1" ON "users" (json_extract(data, '$.email') ASC)
|
|
528
|
+
const sqlLower = index.sql.toLowerCase();
|
|
529
|
+
indexInfo.unique = sqlLower.includes('unique index');
|
|
530
|
+
// Extract the fields from the SQL
|
|
531
|
+
const rawColumns = extractRawIndexColumns(index.sql);
|
|
532
|
+
for (const col of rawColumns) {
|
|
533
|
+
// Use the column name as the key, and direction as value
|
|
534
|
+
indexInfo.key[col.column] = col.direction === 'DESC' ? -1 : 1;
|
|
535
|
+
}
|
|
536
|
+
results.push(indexInfo);
|
|
537
|
+
}
|
|
538
|
+
return results;
|
|
539
|
+
}
|
|
540
|
+
catch (error) {
|
|
541
|
+
console.error(`Error listing indexes for collection ${this.name}:`, error);
|
|
542
|
+
throw error;
|
|
543
|
+
}
|
|
544
|
+
},
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* Drops a specified index from the collection.
|
|
549
|
+
*
|
|
550
|
+
* @param indexName The name of the index to drop.
|
|
551
|
+
* @returns A promise that resolves to the result of the operation.
|
|
552
|
+
*/
|
|
553
|
+
async dropIndex(indexName) {
|
|
554
|
+
await this.ensureTable();
|
|
555
|
+
try {
|
|
556
|
+
if (this.options.verbose) {
|
|
557
|
+
console.log(`Dropping index ${indexName} from collection ${this.name}`);
|
|
558
|
+
}
|
|
559
|
+
await this.db.exec(`DROP INDEX IF EXISTS "${indexName}"`);
|
|
560
|
+
return { acknowledged: true, name: indexName };
|
|
561
|
+
}
|
|
562
|
+
catch (error) {
|
|
563
|
+
console.error(`Error dropping index ${indexName} from collection ${this.name}:`, error);
|
|
564
|
+
throw error;
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
/**
|
|
568
|
+
* Drops all indexes from the collection, except for the index on _id.
|
|
569
|
+
*
|
|
570
|
+
* @returns A promise that resolves to the result of the operation.
|
|
571
|
+
*/
|
|
572
|
+
async dropIndexes() {
|
|
573
|
+
await this.ensureTable();
|
|
574
|
+
try {
|
|
575
|
+
const indexes = await this.listIndexes().toArray();
|
|
576
|
+
let droppedCount = 0;
|
|
577
|
+
for (const index of indexes) {
|
|
578
|
+
// Skip primary key index on _id if it exists
|
|
579
|
+
if (index.name === `sqlite_autoindex_${this.name}_1`)
|
|
580
|
+
continue;
|
|
581
|
+
await this.db.exec(`DROP INDEX IF EXISTS "${index.name}"`);
|
|
582
|
+
droppedCount++;
|
|
583
|
+
}
|
|
584
|
+
return { acknowledged: true, droppedCount };
|
|
585
|
+
}
|
|
586
|
+
catch (error) {
|
|
587
|
+
console.error(`Error dropping indexes from collection ${this.name}:`, error);
|
|
588
|
+
throw error;
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* Prepends '$.' to the path for SQLite JSON functions.
|
|
593
|
+
* @private
|
|
594
|
+
* @param path Field path, e.g., 'address.city'
|
|
595
|
+
* @returns JSON path string for SQLite, e.g., '$.address.city'
|
|
596
|
+
*/
|
|
597
|
+
parseJsonPath(path) {
|
|
598
|
+
// Prepends '$.' to the path for SQLite JSON functions.
|
|
599
|
+
// 'address.city' becomes '$.address.city'
|
|
600
|
+
return `'$.${path}'`;
|
|
601
|
+
}
|
|
446
602
|
// Helper for $set, $inc to handle dot notation
|
|
447
603
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
448
604
|
setNestedValue(obj, path, value) {
|
package/dist/collection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../src/collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,4 +61,15 @@ export declare class FindCursor<T extends DocumentWithId> {
|
|
|
61
61
|
* @returns A promise that resolves to an array of documents.
|
|
62
62
|
*/
|
|
63
63
|
toArray(): Promise<Partial<T>[]>;
|
|
64
|
+
/**
|
|
65
|
+
* Executes the query and returns the first matching document.
|
|
66
|
+
* @returns A promise that resolves to the first matching document or null if no matches are found.
|
|
67
|
+
* @throws Error if the query fails.
|
|
68
|
+
*/
|
|
69
|
+
first(): Promise<Partial<T> | null>;
|
|
70
|
+
/**
|
|
71
|
+
* Executes the query and returns a count of matching documents.
|
|
72
|
+
* @returns A promise that resolves to the count of matching documents.
|
|
73
|
+
*/
|
|
74
|
+
count(): Promise<number>;
|
|
64
75
|
}
|
|
@@ -43,14 +43,14 @@ export class FindCursor {
|
|
|
43
43
|
case '$in':
|
|
44
44
|
if (Array.isArray(value) && value.length > 0) {
|
|
45
45
|
// Convert each value to SQLite-compatible type
|
|
46
|
-
params.push(...value.map(v => toSQLiteValue(v)));
|
|
46
|
+
params.push(...value.map((v) => toSQLiteValue(v)));
|
|
47
47
|
return `_id IN (${value.map(() => '?').join(',')})`;
|
|
48
48
|
}
|
|
49
49
|
return '1=0'; // Empty array, nothing matches
|
|
50
50
|
case '$nin':
|
|
51
51
|
if (Array.isArray(value) && value.length > 0) {
|
|
52
52
|
// Convert each value to SQLite-compatible type
|
|
53
|
-
params.push(...value.map(v => toSQLiteValue(v)));
|
|
53
|
+
params.push(...value.map((v) => toSQLiteValue(v)));
|
|
54
54
|
return `_id NOT IN (${value.map(() => '?').join(',')})`;
|
|
55
55
|
}
|
|
56
56
|
return '1=1'; // Empty array, everything matches
|
|
@@ -95,14 +95,14 @@ export class FindCursor {
|
|
|
95
95
|
case '$in':
|
|
96
96
|
if (Array.isArray(value) && value.length > 0) {
|
|
97
97
|
const conditions = value.map(() => `${jsonPath} = ?`).join(' OR ');
|
|
98
|
-
params.push(...value.map(v => toSQLiteValue(v)));
|
|
98
|
+
params.push(...value.map((v) => toSQLiteValue(v)));
|
|
99
99
|
return `(${conditions})`;
|
|
100
100
|
}
|
|
101
101
|
return '1=0'; // Empty array, nothing matches
|
|
102
102
|
case '$nin':
|
|
103
103
|
if (Array.isArray(value) && value.length > 0) {
|
|
104
104
|
const conditions = value.map(() => `${jsonPath} != ?`).join(' AND ');
|
|
105
|
-
params.push(...value.map(v => toSQLiteValue(v)));
|
|
105
|
+
params.push(...value.map((v) => toSQLiteValue(v)));
|
|
106
106
|
return `(${conditions})`;
|
|
107
107
|
}
|
|
108
108
|
return '1=1'; // Empty array, everything matches
|
|
@@ -200,12 +200,17 @@ export class FindCursor {
|
|
|
200
200
|
conditions.push(`NOT (${norConditions})`);
|
|
201
201
|
}
|
|
202
202
|
else if (key === '$not' && filter.$not) {
|
|
203
|
-
|
|
203
|
+
// Create a nested filter with the $not contents
|
|
204
|
+
const nestedFilter = {
|
|
205
|
+
[Object.keys(filter.$not)[0]]: filter.$not[Object.keys(filter.$not)[0]],
|
|
206
|
+
};
|
|
207
|
+
const notClause = this.buildWhereClause(nestedFilter, params);
|
|
204
208
|
conditions.push(`NOT (${notClause})`);
|
|
205
209
|
}
|
|
206
210
|
// Handle text search
|
|
207
211
|
else if (key === '$text' && filter.$text) {
|
|
208
|
-
const
|
|
212
|
+
const textSearch = filter.$text;
|
|
213
|
+
const search = textSearch.$search;
|
|
209
214
|
if (typeof search === 'string' && search.trim() !== '') {
|
|
210
215
|
conditions.push(`data LIKE ?`);
|
|
211
216
|
params.push(`%${search}%`); // Simple LIKE search
|
|
@@ -465,5 +470,24 @@ export class FindCursor {
|
|
|
465
470
|
return this.applyProjection(doc);
|
|
466
471
|
});
|
|
467
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* Executes the query and returns the first matching document.
|
|
475
|
+
* @returns A promise that resolves to the first matching document or null if no matches are found.
|
|
476
|
+
* @throws Error if the query fails.
|
|
477
|
+
*/
|
|
478
|
+
async first() {
|
|
479
|
+
const results = await this.limit(1).toArray();
|
|
480
|
+
return results.length > 0 ? results[0] : null;
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Executes the query and returns a count of matching documents.
|
|
484
|
+
* @returns A promise that resolves to the count of matching documents.
|
|
485
|
+
*/
|
|
486
|
+
async count() {
|
|
487
|
+
const whereClause = this.buildWhereClause({}, []);
|
|
488
|
+
const countSql = `SELECT COUNT(*) as count FROM "${this.collectionName}" WHERE ${whereClause}`;
|
|
489
|
+
const result = await this.db.get(countSql);
|
|
490
|
+
return result?.count ?? 0; // Return 0 if result is undefined
|
|
491
|
+
}
|
|
468
492
|
}
|
|
469
493
|
//# sourceMappingURL=findCursor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findCursor.js","sourceRoot":"","sources":["../../src/cursors/findCursor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"findCursor.js","sourceRoot":"","sources":["../../src/cursors/findCursor.ts"],"names":[],"mappings":"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"}
|