A dynamic query builder for Node.js
npm install dynamic-query-builderbuildPrismaQuery Function
buildPrismaQuery function builds a Prisma query based on flat filter conditions.
buildMongooseQuery Function
buildMongooseQuery function builds a Mongoose query based on flat filter conditions.
buildTypeORMQuery Function
buildTypeORMQuery function builds a TypeORM query based on flat filter conditions.
buildSequelizeQuery Function
buildSequelizeQuery function builds a Sequelize query based on flat filter conditions. Here you also need to provide Op object from sequelize.
field_condition: value, where field is the name of the field to filter on and condition is the type of filter to apply.
lt: Less than
lte: Less than or equal to
gt: Greater than
gte: Greater than or equal to
between: Between two values (requires an array with two values)
contains: Contains a value (case-insensitive)
c: Alias for contains
caseSensitiveContains: Contains a value (case-sensitive)
csc: Alias for caseSensitiveContains
ne: Not equal to
eq: Equal to
: Equal to (default condition)
neContains: Does not contain a value (case-insensitive)
nec: Alias for neContains
in: In a list of values
nin: Not in a list of values
filters (Object): The flat filter conditions.
Error: Throws an error if the between filter does not receive an array with two values.
javascript
const filters = {
age_gt: 30,
name_contains: "John",
status_in: ["active", "pending"],
};
const query = buildPrismaQuery(filters);
console.log(query);
``