Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-59146

Enable push down of $match with $expr

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Similar to MatchExpression splitting in an aggregation pipeline, we want to be able to split an $expr so that we can support use cases including pushdown in front of an unpack bucket stage if it has both meta fields and control fields as arguments. For example, an $expr that looks likeĀ 

      {$expr: {$and: [{$eq: ["$meta.host", "host_0"]}, {$eq: ["$a", 0]}]}}

      should be split into something likeĀ 

      {$and: [{$expr: {$eq: ["$meta.host", "host_0"]}, {$expr: {$eq: ["$a", 0]}}]}

            Assignee:
            backlog-query-optimization [DO NOT USE] Backlog - Query Optimization
            Reporter:
            militsa.sotirova@mongodb.com Militsa Sotirova
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              None
              None
              None
              None