{"record":{"id":"f8d1be3ada627139","repo":"chroma-core/chroma","slug":"not-contains-on-document-requires-a-string-patte","errorCode":null,"errorMessage":"$not_contains on #document requires a string pattern","messagePattern":"\\$not_contains on #document requires a string pattern","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"chromadb/execution/expression/operator.py","lineNumber":517,"sourceCode":"            Key(\"tags\").contains(\"action\")              # metadata array contains\n            Key(\"scores\").contains(42)                  # metadata array contains\n        \"\"\"\n        if self.name == \"#document\" and not isinstance(value, str):\n            raise TypeError(\"$contains on #document requires a string pattern\")\n        return Contains(self.name, value)\n\n    def not_contains(self, value: LiteralValue) -> NotContains:\n        \"\"\"Check if field does not contain a value.\n\n        On Key.DOCUMENT: excludes documents containing the substring.\n        On metadata fields: checks that the array field does not contain the scalar value.\n\n        Examples:\n            Key.DOCUMENT.not_contains(\"deprecated\")  # document substring exclusion\n            Key(\"tags\").not_contains(\"draft\")         # metadata array not-contains\n        \"\"\"\n        if self.name == \"#document\" and not isinstance(value, str):\n            raise TypeError(\"$not_contains on #document requires a string pattern\")\n        return NotContains(self.name, value)\n\n\n# Initialize predefined key constants\nKey.ID = Key(\"#id\")\nKey.DOCUMENT = Key(\"#document\")\nKey.EMBEDDING = Key(\"#embedding\")\nKey.METADATA = Key(\"#metadata\")\nKey.SCORE = Key(\"#score\")\n\n# Alias for Key\nK = Key\n\n\n@dataclass\nclass Filter:\n    user_ids: Optional[IDs] = None\n    where: Optional[Any] = None  # Old Where type from chromadb.types","sourceCodeStart":499,"sourceCodeEnd":535,"githubUrl":"https://github.com/chroma-core/chroma/blob/aecdd12c8a891610db8653630b066b32ceb678b5/chromadb/execution/expression/operator.py#L499-L535","documentation":"Error \"$not_contains on #document requires a string pattern\" thrown in chroma-core/chroma.","triggerScenarios":"Thrown at chromadb/execution/expression/operator.py:517 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"aecdd12c8a891610db8653630b066b32ceb678b5","analyzedAt":"2026-08-16T21:53:27.228Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}