chroma-core/chroma · error · TypeError
$contains on #document requires a string pattern
Error message
$contains on #document requires a string pattern
What it means
Error "$contains on #document requires a string pattern" thrown in chroma-core/chroma.
Source
Thrown at chromadb/execution/expression/operator.py:503
return Regex(self.name, pattern)
def not_regex(self, pattern: str) -> NotRegex:
"""Field should not match regex: Key('field').not_regex('^pattern')"""
return NotRegex(self.name, pattern)
def contains(self, value: LiteralValue) -> Contains:
"""Check if field contains a value.
On Key.DOCUMENT: substring search (value must be a string).
On metadata fields: checks if the array field contains the scalar value.
Examples:
Key.DOCUMENT.contains("machine learning") # document substring
Key("tags").contains("action") # metadata array contains
Key("scores").contains(42) # metadata array contains
"""
if self.name == "#document" and not isinstance(value, str):
raise TypeError("$contains on #document requires a string pattern")
return Contains(self.name, value)
def not_contains(self, value: LiteralValue) -> NotContains:
"""Check if field does not contain a value.
On Key.DOCUMENT: excludes documents containing the substring.
On metadata fields: checks that the array field does not contain the scalar value.
Examples:
Key.DOCUMENT.not_contains("deprecated") # document substring exclusion
Key("tags").not_contains("draft") # metadata array not-contains
"""
if self.name == "#document" and not isinstance(value, str):
raise TypeError("$not_contains on #document requires a string pattern")
return NotContains(self.name, value)
# Initialize predefined key constantsView on GitHub (pinned to aecdd12c8a)
When it happens
Trigger: Thrown at chromadb/execution/expression/operator.py:503 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of chroma-core/chroma@aecdd12c8a (2026-08-16).
Data as JSON: /api/errors/3bc25e261b4df2df.
Report an issue: GitHub.