Skip to main content
Use the K (Key) factory to construct where filters in TypeScript. Filters are passed to get, query, search, delete, and similar methods via the where parameter.

Field references

TypeDSLExample
Metadata fieldK("field_name")K("category"), K("year")
DocumentK.DOCUMENTK.DOCUMENT.contains("text")
IDK.IDK.ID.isIn(["id1", "id2"])

Comparison operators

PredicateMethodExample
Equal.eq(value)K("status").eq("active")
Not equal.ne(value)K("count").ne(0)
Greater than.gt(value)K("price").gt(100)
Greater than or equal.gte(value)K("year").gte(2020)
Less than.lt(value)K("stock").lt(10)
Less than or equal.lte(value)K("discount").lte(0.25)

Set operators

PredicateMethodExample
In list.isIn(values)K("category").isIn(["tech", "ai"])
Not in list.notIn(values)K("status").notIn(["draft", "deleted"])

Array operators

PredicateMethodExample
Contains.contains(value)K("tags").contains("action")
Not contains.notContains(value)K("tags").notContains("draft")

Document operators

PredicateMethodExample
ContainsK.DOCUMENT.contains(value)K.DOCUMENT.contains("machine learning")
Not containsK.DOCUMENT.notContains(value)K.DOCUMENT.notContains("draft")
Regex matchK.DOCUMENT.regex(pattern)K.DOCUMENT.regex("^quantum\\s+\\w+")
Regex not matchK.DOCUMENT.notRegex(pattern)K.DOCUMENT.notRegex("^draft")

Combining conditions

LogicMethodExample
And.and(other)K("status").eq("active").and(K("year").gte(2020))
Or.or(other)K("status").eq("draft").or(K("status").eq("archived"))