fetchAll 🆕
Fetch documents filtered by statement
Throws `errorNoCriteriaProvided` if props are empty.
Signature
fetchAll(session: MySQLSession, sort?: Sort, filter?: {
props: Partial<IDocument<S>>;
join: 'OR' | 'AND';
}, filterCriteria?: FilterCriteria): Promise<Array<IDocument<S>>>;
fetchAll(session: MySQLXSession, sort?: Sort, filter?: {
props: Partial<IDocument<S>>;
join: 'OR' | 'AND';
}): Promise<Array<IDocument<S>>>;
Example
// employeeRouter.{ts|js}
import { OffsetPagination, SortBy } from 'crud-node';
import { employeeController } from './employeeController';
import { EmployeeProps } from './schemas/employee';
const transacted = true;
await db.usingSession(async (session) => {
const sort = SortBy().asc(EmployeeProps.createdAt).toCriteria();
const data = await employeeController.fetchAll(session, sort, {
props: {
[EmployeeProps.fired]: true,
},
join: 'AND',
});
return data;
}, transacted);
// employeeRouter.{ts|js}
import { OffsetPagination, SortBy } from 'crud-node';
import { employeeController } from './employeeController';
import { EmployeeProps } from './schemas/employee';
const transacted = true;
await db.usingSession(async (session) => {
const sort = SortBy().asc(EmployeeProps.createdAt).toCriteria();
const data = await employeeController.fetchAll(session, sort, {
props: {
[EmployeeProps.fired]: true,
},
join: 'AND',
});
return data;
}, transacted);
Last updated