Upstash Documentation

Overview

2 min read

Boolean operators combine multiple conditions to build complex queries. They control how individual field conditions are logically combined to determine which documents match.

Available Operators#

OperatorDescription
$mustAll conditions must match
$shouldAt least one condition should match, or acts as a score booster when combined with $must
$mustNotExcludes documents matching any condition
$boostAdjusts the score contribution of a boolean clause

How Boolean Operators Work Together#

Boolean operators can be combined in a single query to express complex logic. The operators work together as follows:

  1. $must defines the required conditions. Documents must match ALL of these.
  2. $should adds optional conditions:
    • When used alone: documents must match at least one condition
    • When combined with $must: conditions become optional score boosters
  3. $mustNot filters out unwanted documents from the result set.

Combining Operators#

Here's an example that uses all three operators together:

This query:

  1. Requires documents to be in the "electronics" category AND in stock
  2. Boosts documents that mention "wireless" or "bluetooth" (but doesn't require them)
  3. Excludes any documents containing "budget" in the description

Nesting Boolean Operators#

Boolean operators can be nested to create more complex logic: