MongoDB Vector Search now supports vector search against nested embeddings and arrays of embeddings.

    • Type: Epic
    • Resolution: Done
    • Priority: Critical - P2
    • 3.9.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Vector Search over Nested Embeddings and Arrays of Embeddings
    • Dotnet Drivers
    • Not Needed
    • Done
    • 🔵 Done
    • None
    • Hide

      2026-06-03 - 🔵 Done
      No project update provided


      2026-06-03 - No confidence status provided
      No project update provided


      Show
      2026-06-03 - 🔵 Done No project update provided 2026-06-03 - No confidence status provided No project update provided
    • 0.5
    • Hide

      DRIVERS-3308:
      Builder-only feature (no wire-protocol change). Two areas:

      • Vector index builder: accept a vector field path that points into a nested document or array of embeddings (dotted/embedded path), not just a top-level field.
      • $vectorSearch builder: allow nested/array path; add parent-document filtering that emits parentFilter (instead of filter) and, for arrays of embeddings, a way to set the score-combination mode.
      • ⚠️ Compat gotcha: filter works on server 8.0 + 8.3; parentFilter is 8.3+ only. Emit parentFilter only when the caller explicitly opts into parent filtering — don't rewrite an existing filter, or you break 8.0 (regressed then fixed in C#: PR #1975).
      • ⚠️ Server limitation: mongot (≤0.65.1 / Atlas Local) returns 0 results when filter is combined with a nestedRoot index, so the nested filter codepath can't be validated end-to-end yet — see CSHARP-5840.

      Commits for syncing spec/prose tests (or language POC)

      • No shared spec/prose tests exist for this feature — builder-only, covered by driver-specific tests.
      • C# POC: mongo-csharp-driver PR #1900 (initial nested/array support) + PR #1975 (filter/parentFilter 8.0-vs-8.3 fix). C# tickets: CSHARP-5762 (Dev Complete), CSHARP-5985 (Closed). API added: VectorSearchOptions.NestedFilter + EmbeddedScoreMode; nested paths in CreateVectorSearchIndexModel.

      Context for referenced/linked tickets

      • Splits: JAVA-5987 (Backlog — not started), PHPLIB-1733 (Done), C# (done). Initiative DRIVERS-3316; cloud parent CLOUDP-260588.
      • Blocked validation: CSHARP-5840 (mongot filter + nestedRoot).
      • Sibling builder features for precedent: DRIVERS-3309 (lexical prefilters), DRIVERS-3300 (storedSource).
      Show
      DRIVERS-3308 : Builder-only feature (no wire-protocol change). Two areas: Vector index builder: accept a vector field path that points into a nested document or array of embeddings (dotted/embedded path), not just a top-level field. $vectorSearch builder: allow nested/array path; add parent-document filtering that emits parentFilter (instead of filter) and, for arrays of embeddings, a way to set the score-combination mode. ⚠️ Compat gotcha: filter works on server 8.0 + 8.3; parentFilter is 8.3+ only. Emit parentFilter only when the caller explicitly opts into parent filtering — don't rewrite an existing filter, or you break 8.0 (regressed then fixed in C#: PR #1975). ⚠️ Server limitation: mongot (≤0.65.1 / Atlas Local) returns 0 results when filter is combined with a nestedRoot index, so the nested filter codepath can't be validated end-to-end yet — see CSHARP-5840 . Commits for syncing spec/prose tests (or language POC) No shared spec/prose tests exist for this feature — builder-only, covered by driver-specific tests. C# POC: mongo-csharp-driver PR #1900 (initial nested/array support) + PR #1975 (filter/parentFilter 8.0-vs-8.3 fix). C# tickets: CSHARP-5762 (Dev Complete), CSHARP-5985 (Closed). API added: VectorSearchOptions.NestedFilter + EmbeddedScoreMode; nested paths in CreateVectorSearchIndexModel. Context for referenced/linked tickets Splits: JAVA-5987 (Backlog — not started), PHPLIB-1733 (Done), C# (done). Initiative DRIVERS-3316; cloud parent CLOUDP-260588. Blocked validation: CSHARP-5840 (mongot filter + nestedRoot). Sibling builder features for precedent: DRIVERS-3309 (lexical prefilters), DRIVERS-3300 (storedSource).
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This ticket was split from DRIVERS-3308, please see that ticket for a detailed description.

            Assignee:
            Unassigned
            Reporter:
            TPM Jira Automations Bot
            None
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              None
              None
              None