@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
412 lines (187 loc) • 5.35 kB
Markdown
---
lang: en
title: 'API docs: filter.wherebuilder'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/loopbackio/loopback-next/tree/master/packages/filter
permalink: /doc/en/lb4/apidocs.filter.wherebuilder.html
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@loopback/filter](./filter.md) > [WhereBuilder](./filter.wherebuilder.md)
## WhereBuilder class
A builder for Where object. It provides fluent APIs to add clauses such as `and`<!-- -->, `or`<!-- -->, and other operators.
**Signature:**
```typescript
export declare class WhereBuilder<MT extends object = AnyObject>
```
## Example
```ts
const whereBuilder = new WhereBuilder();
const where = whereBuilder
.eq('a', 1)
.and({x: 'x'}, {y: {gt: 1}})
.and({b: 'b'}, {c: {lt: 1}})
.or({d: 'd'}, {e: {neq: 1}})
.build();
```
## Constructors
<table><thead><tr><th>
Constructor
</th><th>
Modifiers
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
[(constructor)(w)](./filter.wherebuilder._constructor_.md)
</td><td markdown="1">
</td><td markdown="1">
Constructs a new instance of the `WhereBuilder` class
</td></tr>
</tbody></table>
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
[where](./filter.wherebuilder.where.md)
</td><td markdown="1">
</td><td markdown="1">
[Where](./filter.where.md)<!-- --><MT>
</td><td markdown="1">
</td></tr>
</tbody></table>
## Methods
<table><thead><tr><th>
Method
</th><th>
Modifiers
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
[and(w)](./filter.wherebuilder.and.md)
</td><td markdown="1">
</td><td markdown="1">
Add an `and` clause.
</td></tr>
<tr><td markdown="1">
[between(key, val1, val2)](./filter.wherebuilder.between.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `between` condition
</td></tr>
<tr><td markdown="1">
[build()](./filter.wherebuilder.build.md)
</td><td markdown="1">
</td><td markdown="1">
Get the where object
</td></tr>
<tr><td markdown="1">
[cast(clause)](./filter.wherebuilder.cast.md)
</td><td markdown="1">
</td><td markdown="1">
</td></tr>
<tr><td markdown="1">
[eq(key, val)](./filter.wherebuilder.eq.md)
</td><td markdown="1">
</td><td markdown="1">
Add an `=` condition
</td></tr>
<tr><td markdown="1">
[exists(key, val)](./filter.wherebuilder.exists.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `exists` condition
</td></tr>
<tr><td markdown="1">
[gt(key, val)](./filter.wherebuilder.gt.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `>` condition
</td></tr>
<tr><td markdown="1">
[gte(key, val)](./filter.wherebuilder.gte.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `>=` condition
</td></tr>
<tr><td markdown="1">
[ilike(key, val)](./filter.wherebuilder.ilike.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `ilike` condition
</td></tr>
<tr><td markdown="1">
[impose(where)](./filter.wherebuilder.impose.md)
</td><td markdown="1">
</td><td markdown="1">
Add a where object. For conflicting keys with the existing where object, create an `and` clause.
</td></tr>
<tr><td markdown="1">
[inq(key, val)](./filter.wherebuilder.inq.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `inq` condition
</td></tr>
<tr><td markdown="1">
[like(key, val)](./filter.wherebuilder.like.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `like` condition
</td></tr>
<tr><td markdown="1">
[lt(key, val)](./filter.wherebuilder.lt.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `<` condition
</td></tr>
<tr><td markdown="1">
[lte(key, val)](./filter.wherebuilder.lte.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `<=` condition
</td></tr>
<tr><td markdown="1">
[neq(key, val)](./filter.wherebuilder.neq.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `!=` condition
</td></tr>
<tr><td markdown="1">
[nilike(key, val)](./filter.wherebuilder.nilike.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `nilike` condition
</td></tr>
<tr><td markdown="1">
[nin(key, val)](./filter.wherebuilder.nin.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `nin` condition
</td></tr>
<tr><td markdown="1">
[nlike(key, val)](./filter.wherebuilder.nlike.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `nlike` condition
</td></tr>
<tr><td markdown="1">
[or(w)](./filter.wherebuilder.or.md)
</td><td markdown="1">
</td><td markdown="1">
Add an `or` clause.
</td></tr>
<tr><td markdown="1">
[regexp(key, val)](./filter.wherebuilder.regexp.md)
</td><td markdown="1">
</td><td markdown="1">
Add a `regexp` condition
</td></tr>
</tbody></table>