Open pascalovrai opened 4 days ago
Hi! Currently Chroma does not support compound metadata value (such as a list). But for your use case it is possible to get around without using a list as value type. For example:
BestSeller
and Beginner-Friendly
, you can store the following metadata: {"tag:BestSeller": True, "tag:Beginner-Friendly": True}
{"tag:BestSeller": True}
Describe the problem
I would be awesome if you could use the $contains filter on metadata. Or if you could have a list as an allowed type for metadata, to then use a kind of $in operator.
Describe the proposed solution
So let's say I have a list of tags ("Bestseller", "Beginner-Friendly", "Budget-Friendly"). Now I have the metadata field "Tags" and there I would like to make the value of the field a list -> ["Bestseller", "Beginner-Friendly", "Budget-Friendly"]. Now if I want to look for all documents that are bestsellers, I would just have to do {"Tags": {"$in": "Bestseller"}}.
Alternatives considered
Or the same for $contains. Where you would not have to have a list as the metadata field type, but you could have a string.
Importance
i cannot use Chroma without it
Additional Information
I love Chroma DB and have been using it for around a year now and this feature would be soo life saving!!!