mem0ai/mem0 · error · ValueError
Operator filter for field {metadata_key!r} must not be empty
Error message
Operator filter for field {metadata_key!r} must not be empty What it means
Error "Operator filter for field {metadata_key!r} must not be empty" thrown in mem0ai/mem0.
Source
Thrown at mem0/vector_stores/oracledb.py:125
if isinstance(value, (dict, list, tuple, set)):
raise ValueError(f"Oracle filter operator {operator!r} requires a scalar value")
def _build_field_condition(metadata_key: str, value: Any, params: Dict[str, Any]) -> str:
json_path = _json_path(metadata_key)
if value == "*":
return f"JSON_EXISTS(payload, '${json_path}')"
if not isinstance(value, dict):
_validate_scalar_operand("eq", value)
if value is None:
return _json_exists(json_path, "@ == null", [])
variable, passing = _bind_filter_value(value, params)
return _json_exists(json_path, f"@ == {variable}", [passing])
if not value:
raise ValueError(f"Operator filter for field {metadata_key!r} must not be empty")
unsupported = set(value) - _FIELD_OPERATORS
if unsupported:
raise ValueError(
f"Unsupported Oracle filter operator(s) for field {metadata_key!r}: "
f"{', '.join(sorted(map(str, unsupported)))}"
)
predicates: List[str] = []
passings: List[str] = []
additional_clauses: List[str] = []
for operator, operand in value.items():
if operator in _COMPARISON_OPERATORS:
_validate_scalar_operand(operator, operand)
if operand is None:
if operator not in {"eq", "ne"}:
raise ValueError(f"Oracle filter operator {operator!r} does not support null")View on GitHub (pinned to 001c235229)
Solutions
- Provide at least one operator/value pair in the operator filter object.
When it happens
Trigger: Thrown at mem0/vector_stores/oracledb.py:125 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of mem0ai/mem0@001c235229 (2026-08-15).
Data as JSON: /api/errors/e82ec46b6534d1e9.
Report an issue: GitHub.