If a use the metadata Filter always return empty array. If I remove the filter works fine. It happens the same in Supabase vector and Pinecone. Any help?
This happens because the metadata filter in vector DB nodes (Supabase, Pinecone, etc) expects exact matches and the field names must match the metadata keys you originally stored. If the key or type doesn’t line up, you’ll always get an empty array.
Things to check:
Look at how you stored metadata when upserting vectors — for example:
{ "category": "finance", "source": "docs" }
Then your filter must use exactly those keys and values:
{ "category": "finance" }
Metadata values are case-sensitive and type-sensitive. "123" (string) will not match 123 (number).
In Pinecone, filters only work if metadata was defined at upsert time. In Supabase, filters are applied through Postgres JSON fields, so wrong nesting also gives empty arrays.
So the fix is to double-check the exact key names and value types used when vectors were stored, and match them exactly in your filter.
If this helps, please mark it as Solution so others can find it