Metadata Arrays
Chroma now supports storing arrays of strings, numbers, and booleans in metadata fields, one of our most requested features. This means you can attach rich, multi-valued attributes like tags, categories, or scores directly to your documents without workarounds like comma-separated strings or serialization.
Querying arrays is just as natural. Use contains() and not_contains() operators (or $contains / $not_contains in dictionary syntax) to filter records based on whether an array includes a specific value. These work seamlessly with existing logical operators, so you can combine array filters with comparison and set operators in a single query.
All array elements must share the same type, and both K-expression and dictionary-style syntaxes are fully supported across Python, TypeScript, and Rust.
Multi-label tagging and categorization. Records can now hold references to multiple tags or categories:
Multi-entity association. If you're indexing Slack messages or emails, you can track which users are mentioned in messages:
Access control. Store which roles or user groups can access records:
Check out the documentation for full details and examples.