UNPKG

@andrejs1979/document

Version:

MongoDB-compatible document database for NoSQL

72 lines 2.36 kB
/** * NoSQL - Document Storage Engine * High-performance document storage with Cloudflare D1/R2 integration */ import { Document, DocumentDatabaseConfig, QueryFilter, FindOptions, UpdateOperators, UpdateOptions, InsertOneResult, InsertManyResult, UpdateResult, DeleteResult } from '../types'; /** * Document storage with caching and optimization */ export declare class DocumentStorage { private d1; private kvStore?; private r2Bucket?; private config; private documentCache; private queryCache; private initialized; constructor(config: DocumentDatabaseConfig); /** * Initialize storage with schema creation */ initialize(): Promise<void>; /** * Insert a single document */ insertOne(collection: string, document: Document): Promise<InsertOneResult>; /** * Insert multiple documents */ insertMany(collection: string, documents: Document[]): Promise<InsertManyResult>; /** * Find documents by filter */ find(collection: string, filter: QueryFilter, options?: FindOptions): Promise<Document[]>; /** * Find a single document */ findOne(collection: string, filter: QueryFilter, options?: FindOptions): Promise<Document | null>; /** * Update a single document */ updateOne(collection: string, filter: QueryFilter, update: UpdateOperators | Document, options?: UpdateOptions): Promise<UpdateResult>; /** * Delete documents */ deleteMany(collection: string, filter: QueryFilter): Promise<DeleteResult>; /** * Delete a single document */ deleteOne(collection: string, filter: QueryFilter): Promise<DeleteResult>; /** * Count documents */ countDocuments(collection: string, filter?: QueryFilter): Promise<number>; private ensureInitialized; private generateObjectId; private extractSearchText; private extractMetadata; private extractIndexValues; private buildQuery; private buildFilterConditions; private handleOperator; private applyUpdateOperators; private isUpdateOperators; private createCoreIndexes; private createMetadataTables; private cacheDocument; private getDocumentKey; private getQueryCacheKey; private clearQueryCache; private storeInR2; } //# sourceMappingURL=document-storage.d.ts.map