diff --git a/README.md b/README.md index 56c2ed9..c33297c 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,57 @@ Library for building RSQL query strings for MongoDB in TypeScript and JavaScript $ npm install rsql-query-builder-mongodb ``` +## RSQL Builder for MongoDB Methods + +The `RSQLBuilderMongoDB` class provides many methods to build the desired RSQL string. + +### Initialization + +`constructor(options)` – Initializes a new `RSQLBuilderMongoDB` instance. + +### Comparisons Operators (Defining Conditions) + +`equal(selector, value)` - Appends a condition `selector == value`. +`notEqual(selector, value)` - Appends a condition `selector != value`. +`lessThan(selector, value)` - Appends a condition `selector =lt= value`. +`lessThanOrEqual(selector, value)` - Appends a condition `selector =le= value`. +`greaterThan(selector, value)` - Appends a condition `selector =gr= value`. +`greaterThanOrEqual(selector, value)` - Appends a condition `selector =ge= value`. +`in(selector, values)` - Appends a condition `selector =in= (values)`. +`notIn(selector, value)` - Appends a condition `selector =out= (values)`. +`like(selector, regex, options)` - Appends a condition `selector =regex= value = options`. +`notLike(selector, regex, options)` - Appends a condition `selector =notregex= value = options`. +`regex(selector, regex, options)` - Appends a condition `selector =regex= value = options`. +`notRegex(selector, regex, options)` - Appends a condition `selector =notregex= value = options`. + +### Expression Grouping (Organizing Conditions) + +`group(builder)` - Wraps the conditions from another RSQLBuilderMongoDB instance in parentheses for grouping. + +### Logical Operators (Combining Conditions) + +`and()` – Appends the logical **AND** operator `;`. +`or()` - Appends a logical **OR** operator `,`. + +### RSQL Builder Composition (Combining Multiple RSQL Queries) + +`concat(builder)` – Appends all expressions from another RSQLBuilderMongoDB instance to the current instance. +`merge(builders)` – Merges multiple RSQLBuilderMongoDB instances into grouped conditions. + +### RSQL String Management (Finalizing the Query) + +`toString()` - Returns the generated RSQL query string. +`isEmpty()` – Returns true if the RSQLBuilderMongoDB instance has no expressions; otherwise, returns false. +`reset()` – Clears all expressions, resetting the RSQLBuilder instance. + +### Static Utilities + +`merge(builders)` – Creates a new RSQLBuilderMongoDB instance and merges multiple RSQLBuilderMongoDB instances into grouped conditions. + +## Compatibility + +This RSQLBuilder for MongoDB is built to be compatible to the following RSQL query resolver: [RSQL MongoDB](https://www.npmjs.com/package/rsql-mongodb) + ## License [MIT](LICENSE) diff --git a/package.json b/package.json index 4a3d8d8..b01bc09 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rsql-query-builder-mongodb", - "version": "1.3.0", + "version": "1.3.1", "description": "Library for building RSQL query strings for MongoDB.", "main": "dist/index.js", "module": "dist/index.mjs",