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 | # 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) | ## 2025-04-14 - 5.7.0 - feat(SmartDataDbDoc) | ||||||
| Add extended cursor method getCursorExtended for flexible cursor modifications | Add extended cursor method getCursorExtended for flexible cursor modifications | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3,6 +3,6 @@ | |||||||
|  */ |  */ | ||||||
| export const commitinfo = { | export const commitinfo = { | ||||||
|   name: '@push.rocks/smartdata', |   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.' |   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() { |   public async close() { | ||||||
|     await this.mongodbCursor.close(); |     await this.mongodbCursor.close(); | ||||||
|   } |   } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user