Class: NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:38
LINQ-inspired typed collection for NoSQL / MongoDB document querying and persistence.
Mirrors the fluent API and operational patterns of DbSet<T>, providing LINQ queries,
projections, pagination, aggregations, and CRUD mutations.
Type Parameters
| Type Parameter | Default type |
|---|---|
T extends object | any |
Constructors
Constructor
new NoSqlSet<
T>(adapter,collectionName,query?):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:39
Parameters
| Parameter | Type |
|---|---|
adapter | INoSqlAdapter |
collectionName | string |
query | DocumentQuery<T> |
Returns
NoSqlSet<T>
Methods
where()
Call Signature
where(
fn):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:64
Filters documents using a LINQ lambda, WhereClause builder callback, or property criteria.
Parameters
| Parameter | Type |
|---|---|
fn | (clause) => boolean | void | WhereClause<T> |
Returns
NoSqlSet<T>
Example
await users.where(u => u.age >= 18 && u.status === 'active').toList();
await users.where({ role: 'admin' }).toList();
await users.where(w => w.gt('score', 90).eq('verified', true)).toList();
Call Signature
where(
predicate):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:65
Filters documents using a LINQ lambda, WhereClause builder callback, or property criteria.
Parameters
| Parameter | Type |
|---|---|
predicate | (entity) => boolean |
Returns
NoSqlSet<T>
Example
await users.where(u => u.age >= 18 && u.status === 'active').toList();
await users.where({ role: 'admin' }).toList();
await users.where(w => w.gt('score', 90).eq('verified', true)).toList();
Call Signature
where(
predicate):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:66
Filters documents using a LINQ lambda, WhereClause builder callback, or property criteria.
Parameters
| Parameter | Type |
|---|---|
predicate | Record<string, unknown> | Partial<T> |
Returns
NoSqlSet<T>
Example
await users.where(u => u.age >= 18 && u.status === 'active').toList();
await users.where({ role: 'admin' }).toList();
await users.where(w => w.gt('score', 90).eq('verified', true)).toList();
whereIn()
whereIn<
K>(field,values):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:76
Filters documents with an IN array comparison.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type |
|---|---|
field | K | ((entity) => unknown) |
values | unknown[] |
Returns
NoSqlSet<T>
whereNotIn()
whereNotIn<
K>(field,values):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:88
Filters documents with a NOT IN comparison.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type |
|---|---|
field | K | ((entity) => unknown) |
values | unknown[] |
Returns
NoSqlSet<T>
whereBetween()
whereBetween<
K>(field,low,high):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:100
Filters documents with a BETWEEN range comparison.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type |
|---|---|
field | K | ((entity) => unknown) |
low | unknown |
high | unknown |
Returns
NoSqlSet<T>
whereRegex()
whereRegex<
K>(field,pattern,options?):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:113
Filters documents with a regular expression pattern.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type | Default value |
|---|---|---|
field | K | ((entity) => unknown) | undefined |
pattern | string | RegExp | undefined |
options | string | 'i' |
Returns
NoSqlSet<T>
whereNull()
whereNull<
K>(field):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:126
Filters documents where a field is null or undefined.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type |
|---|---|
field | K | ((entity) => unknown) |
Returns
NoSqlSet<T>
whereNotNull()
whereNotNull<
K>(field):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:135
Filters documents where a field is not null.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type |
|---|---|
field | K | ((entity) => unknown) |
Returns
NoSqlSet<T>
select()
select<
K>(...fields):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:151
Projects only specific fields from the documents.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type |
|---|---|
...fields | (K | ((entity) => unknown))[] |
Returns
NoSqlSet<T>
Example
const summaries = await users.select('id', 'name', 'email').toList();
orderBy()
orderBy<
K>(field,direction?):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:162
Sorts the documents in ascending order by the given field or selector.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type | Default value |
|---|---|---|
field | K | ((entity) => unknown) | undefined |
direction | "desc" | "asc" | 'asc' |
Returns
NoSqlSet<T>
orderByDescending()
orderByDescending<
K>(field):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:174
Sorts the documents in descending order by the given field or selector.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type |
|---|---|
field | K | ((entity) => unknown) |
Returns
NoSqlSet<T>
thenBy()
thenBy<
K>(field,direction?):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:183
Chained secondary sort.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type | Default value |
|---|---|---|
field | K | ((entity) => unknown) | undefined |
direction | "desc" | "asc" | 'asc' |
Returns
NoSqlSet<T>
thenByDescending()
thenByDescending<
K>(field):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:193
Chained secondary descending sort.
Type Parameters
| Type Parameter |
|---|
K extends string |
Parameters
| Parameter | Type |
|---|---|
field | K | ((entity) => unknown) |
Returns
NoSqlSet<T>
skip()
skip(
count):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:202
Skips the specified number of documents (LINQ Skip).
Parameters
| Parameter | Type |
|---|---|
count | number |
Returns
NoSqlSet<T>
take()
take(
count):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:211
Takes the specified maximum number of documents (LINQ Take / Limit).
Parameters
| Parameter | Type |
|---|---|
count | number |
Returns
NoSqlSet<T>
limit()
limit(
count):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:217
Parameters
| Parameter | Type |
|---|---|
count | number |
Returns
NoSqlSet<T>
offset()
offset(
count):NoSqlSet<T>
Defined in: src/nosql/NoSqlSet.ts:221
Parameters
| Parameter | Type |
|---|---|
count | number |
Returns
NoSqlSet<T>
toList()
toList():
Promise<T[]>
Defined in: src/nosql/NoSqlSet.ts:230
Executes the query and returns the matching documents as an array (LINQ ToList / ToArray).
Returns
Promise<T[]>
toArray()
toArray():
Promise<T[]>
Defined in: src/nosql/NoSqlSet.ts:247
Alias for toList().
Returns
Promise<T[]>
first()
Call Signature
first(
predicate?):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:254
Returns the first document matching the query, or null if empty.
Parameters
| Parameter | Type |
|---|---|
predicate? | (entity) => boolean |
Returns
Promise<T | null>
Call Signature
first(
predicate?):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:255
Returns the first document matching the query, or null if empty.
Parameters
| Parameter | Type |
|---|---|
predicate? | Record<string, unknown> | Partial<T> |
Returns
Promise<T | null>
find()
find(
id):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:271
Finds a document by its primary key / ID (_id or id).
Parameters
| Parameter | Type |
|---|---|
id | unknown |
Returns
Promise<T | null>
findById()
findById(
id):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:279
Alias for find(id).
Parameters
| Parameter | Type |
|---|---|
id | unknown |
Returns
Promise<T | null>
firstOrDefault()
Call Signature
firstOrDefault(
predicate?):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:286
Returns the first document or null (alias for first()).
Parameters
| Parameter | Type |
|---|---|
predicate? | (entity) => boolean |
Returns
Promise<T | null>
Call Signature
firstOrDefault(
predicate?):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:287
Returns the first document or null (alias for first()).
Parameters
| Parameter | Type |
|---|---|
predicate? | Record<string, unknown> | Partial<T> |
Returns
Promise<T | null>
firstOrThrow()
Call Signature
firstOrThrow(
predicate?):Promise<T>
Defined in: src/nosql/NoSqlSet.ts:295
Returns the first document, or throws EntityNotFoundException if none matches.
Parameters
| Parameter | Type |
|---|---|
predicate? | (entity) => boolean |
Returns
Promise<T>
Call Signature
firstOrThrow(
predicate?):Promise<T>
Defined in: src/nosql/NoSqlSet.ts:296
Returns the first document, or throws EntityNotFoundException if none matches.
Parameters
| Parameter | Type |
|---|---|
predicate? | Record<string, unknown> | Partial<T> |
Returns
Promise<T>
single()
Call Signature
single(
predicate?):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:310
Asserts that at most one document matches the query and returns it, or returns null.
Parameters
| Parameter | Type |
|---|---|
predicate? | (entity) => boolean |
Returns
Promise<T | null>
Call Signature
single(
predicate?):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:311
Asserts that at most one document matches the query and returns it, or returns null.
Parameters
| Parameter | Type |
|---|---|
predicate? | Record<string, unknown> | Partial<T> |
Returns
Promise<T | null>
singleOrDefault()
Call Signature
singleOrDefault(
predicate?):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:323
Parameters
| Parameter | Type |
|---|---|
predicate? | (entity) => boolean |
Returns
Promise<T | null>
Call Signature
singleOrDefault(
predicate?):Promise<T|null>
Defined in: src/nosql/NoSqlSet.ts:324
Parameters
| Parameter | Type |
|---|---|
predicate? | Record<string, unknown> | Partial<T> |
Returns
Promise<T | null>
singleOrThrow()
Call Signature
singleOrThrow(
predicate?):Promise<T>
Defined in: src/nosql/NoSqlSet.ts:329
Parameters
| Parameter | Type |
|---|---|
predicate? | (entity) => boolean |
Returns
Promise<T>
Call Signature
singleOrThrow(
predicate?):Promise<T>
Defined in: src/nosql/NoSqlSet.ts:330
Parameters
| Parameter | Type |
|---|---|
predicate? | Record<string, unknown> | Partial<T> |
Returns
Promise<T>
count()
Call Signature
count(
predicate?):Promise<number>
Defined in: src/nosql/NoSqlSet.ts:350
Returns the total count of documents matching the query (LINQ Count).
Parameters
| Parameter | Type |
|---|---|
predicate? | (entity) => boolean |
Returns
Promise<number>
Call Signature
count(
predicate?):Promise<number>
Defined in: src/nosql/NoSqlSet.ts:351
Returns the total count of documents matching the query (LINQ Count).
Parameters
| Parameter | Type |
|---|---|
predicate? | Record<string, unknown> | Partial<T> |
Returns
Promise<number>
any()
Call Signature
any(
predicate?):Promise<boolean>
Defined in: src/nosql/NoSqlSet.ts:361
Checks whether any document matches the query (LINQ Any).
Parameters
| Parameter | Type |
|---|---|
predicate? | (entity) => boolean |
Returns
Promise<boolean>
Call Signature
any(
predicate?):Promise<boolean>
Defined in: src/nosql/NoSqlSet.ts:362
Checks whether any document matches the query (LINQ Any).
Parameters
| Parameter | Type |
|---|---|
predicate? | Record<string, unknown> | Partial<T> |
Returns
Promise<boolean>
all()
all(
predicate):Promise<boolean>
Defined in: src/nosql/NoSqlSet.ts:372
Checks whether all documents in the collection match the predicate (LINQ All).
Parameters
| Parameter | Type |
|---|---|
predicate | (entity) => boolean |
Returns
Promise<boolean>
sum()
sum(
field):Promise<number>
Defined in: src/nosql/NoSqlSet.ts:382
Calculates the sum of a numeric field using an aggregation pipeline.
Parameters
| Parameter | Type |
|---|---|
field | NoSqlFieldSelector<T> |
Returns
Promise<number>