diff --git a/changelog.md b/changelog.md index 4e2cd39..5b2d354 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,10 @@ # Changelog +## 2024-09-05 - 5.2.10 - fix(smartdata.classes.doc) +Fix issue with array handling in convertFilterForMongoDb function + +- Corrected the logic to properly handle array filters in the convertFilterForMongoDb function to avoid incorrect assignments. + ## 2024-09-05 - 5.2.9 - fix(smartdata.classes.doc) Fixed issue with convertFilterForMongoDb to handle array operators. diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 581ded3..da23138 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@push.rocks/smartdata', - version: '5.2.9', + version: '5.2.10', description: 'An advanced library for NoSQL data organization and manipulation using TypeScript with support for MongoDB, data validation, collections, and custom data types.' } diff --git a/ts/smartdata.classes.doc.ts b/ts/smartdata.classes.doc.ts index c853d0f..1692ed0 100644 --- a/ts/smartdata.classes.doc.ts +++ b/ts/smartdata.classes.doc.ts @@ -57,7 +57,7 @@ export const convertFilterForMongoDb = (filterArg: { [key: string]: any }) => { const convertFilterArgument = (keyPathArg2: string, filterArg2: any) => { if (Array.isArray(filterArg2)) { // Directly assign arrays (they might be using operators like $in or $all) - convertedFilter[keyPathArg2] = filterArg2; + convertFilterArgument(keyPathArg2, filterArg2[0]); } else if (typeof filterArg2 === 'object' && filterArg2 !== null) { for (const key of Object.keys(filterArg2)) { if (key.startsWith('$')) {