feat(cursor): Add toArray method to SmartdataDbCursor to convert raw MongoDB documents into initialized class instances
This commit is contained in:
		| @@ -1,5 +1,11 @@ | ||||
| # Changelog | ||||
|  | ||||
| ## 2025-04-14 - 5.8.0 - feat(cursor) | ||||
| Add toArray method to SmartdataDbCursor to convert raw MongoDB documents into initialized class instances | ||||
|  | ||||
| - Introduced asynchronous toArray method in SmartdataDbCursor which retrieves all documents from the MongoDB cursor | ||||
| - Maps each native document to a SmartDataDbDoc instance using createInstanceFromMongoDbNativeDoc for consistent API usage | ||||
|  | ||||
| ## 2025-04-14 - 5.7.0 - feat(SmartDataDbDoc) | ||||
| Add extended cursor method getCursorExtended for flexible cursor modifications | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,6 @@ | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@push.rocks/smartdata', | ||||
|   version: '5.7.0', | ||||
|   version: '5.8.0', | ||||
|   description: 'An advanced library for NoSQL data organization and manipulation using TypeScript with support for MongoDB, data validation, collections, and custom data types.' | ||||
| } | ||||
|   | ||||
| @@ -40,6 +40,11 @@ export class SmartdataDbCursor<T = any> { | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   public async toArray() { | ||||
|     const result = await this.mongodbCursor.toArray(); | ||||
|     return result.map((itemArg) => this.smartdataDbDoc.createInstanceFromMongoDbNativeDoc(itemArg)); | ||||
|   } | ||||
|  | ||||
|   public async close() { | ||||
|     await this.mongodbCursor.close(); | ||||
|   } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user