equals(field, value) | Exact match (string, number, date, or boolean) |
has(field) | Field is present / not null |
startsWith(field, value) | String prefix match |
endsWith(field, value) | String suffix match |
contains(field, value) | Substring match |
gt(field, value) / gte(field, value) | Numeric greater than / greater than or equal |
lt(field, value) / lte(field, value) | Numeric less than / less than or equal |
before(field, date) / after(field, date) | Date comparisons |
relativeBefore(field, n, unit) / relativeAfter(field, n, unit) | Relative date windows (unit: days, weeks, months) |
relativeEqual(field, n, unit) / relativeNotEqual(field, n, unit) | Relative date equality checks |
inArray(field, [values]) | Value is in a list |
containsAll(field, [values], key?) | Array field contains all values |
containsAny(field, [values], key?) | Array field contains any value |
equalsSet(field, [values], key?) | Array field matches the set exactly |