diff --git a/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts b/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts index 1d360182..30662d61 100644 --- a/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts +++ b/packages/components/nodes/vectorstores/Chroma/Chroma_Existing.ts @@ -93,18 +93,20 @@ class Chroma_Existing_VectorStores implements INode { const credentialData = await getCredentialData(nodeData.credential ?? '', options) const chromaApiKey = getCredentialParam('chromaApiKey', credentialData, nodeData) - const chromaMetadataFilter = nodeData.inputs?.chromaMetadataFilter; - const metadataFilter = chromaMetadataFilter ? JSON.parse(chromaMetadataFilter) : {}; + const chromaMetadataFilter = nodeData.inputs?.chromaMetadataFilter + const metadataFilter = chromaMetadataFilter ? JSON.parse(chromaMetadataFilter) : {} const obj: { collectionName: string url?: string chromaApiKey?: string - metadataFilter?: any + filter?: object | undefined } = { collectionName } if (chromaURL) obj.url = chromaURL - if (chromaApiKey) obj.chromaApiKey = chromaApiKey - if (chromaMetadataFilter) obj.metadataFilter = metadataFilter + if (chromaMetadataFilter) { + const metadatafilter = typeof chromaMetadataFilter === 'object' ? chromaMetadataFilter : JSON.parse(chromaMetadataFilter) + obj.filter = metadatafilter + } const vectorStore = await ChromaExtended.fromExistingCollection(embeddings, obj)