Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down