Empty array filtering metadata in Supabase vector

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?

core

  • n8nVersion: 1.108.2
  • platform: docker (self-hosted)
  • nodeJsVersion: 22.17.0
  • database: postgres
  • executionMode: scaling (single-main)

What is the error message (if any)?

Please share your workflow


Share the output returned by the last node

response
[empty array]

Information on your n8n setup

  • n8n version:
    1.108.2
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:
1 Like

Hey @MacAllas, welcome to the community :waving_hand:

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:

  1. 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" }

  1. Metadata values are case-sensitive and type-sensitive. "123" (string) will not match 123 (number).

  2. 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 :folded_hands:

Solved!!! I change the type from string to integer! Uffff thanks a lot

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.