Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-776

Support 'let' option for aggregate command

    • Type: Icon: Spec Change Spec Change
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: CRUD
    • None
    • Needed
    • Hide

      Added let parameters to the aggregate command.

      Show
      Added let parameters to the aggregate command.
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4010 Fixed 1.18.0
      CXX-2274 Fixed 3.7.0
      CSHARP-3700 Fixed 2.13.0
      GODRIVER-2033 Fixed 1.6.0
      JAVA-4186 Fixed 4.3.0
      NODE-3325 Fixed 4.0.0
      MOTOR-745 Fixed 2.5
      PYTHON-2741 Fixed 3.12, 4.0
      PHPLIB-663 Fixed 1.9.0
      RUBY-2659 Fixed 2.17.0
      RUST-836 Fixed 2.0.0-beta.3
      SWIFT-1225 Fixed 1.2.0
      NODE-3353 Fixed 4.1.0
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-4010 Fixed 1.18.0 CXX-2274 Fixed 3.7.0 CSHARP-3700 Fixed 2.13.0 GODRIVER-2033 Fixed 1.6.0 JAVA-4186 Fixed 4.3.0 NODE-3325 Fixed 4.0.0 MOTOR-745 Fixed 2.5 PYTHON-2741 Fixed 3.12, 4.0 PHPLIB-663 Fixed 1.9.0 RUBY-2659 Fixed 2.17.0 RUST-836 Fixed 2.0.0-beta.3 SWIFT-1225 Fixed 1.2.0 NODE-3353 Fixed 4.1.0

      Downstream Change Summary

      Drivers should add a new let option to aggregate helper methods and sync CRUD unified spec tests with mongodb/specifications@3a58fc6.

      For MongoDB 5.0+, the aggregate command accepts a let option of type object. This object consists of any amount of parameter names each followed by definitions of constants in the MQL Aggregate Expression language. Each parameter name is then usable to access the value of the corresponding MQL Expression with the "$$" syntax within Aggregate Expression contexts which may require the use of $expr or a pipeline.

      Note: this ticket only pertains to changes for aggregate. Support for let in other commands (involving pipelines or $expr) will be handled by DRIVERS-1788.

      Description of Linked Ticket

      Epic Summary

      Summary

      Deprecate the MR command and ensure its functionality is fully supported by Agg. The backend of the command has already been replaced by “MapReduce in Agg” (PM-776), we need to make sure all necessary concepts can be expressed in MQL.

      Motivation

      One objective of the query team is to consolidate dialects of all existing query commands into a single language. This project enables users to write their MR tasks directly in Agg, which provides a more capable and clear syntax. We want to move users away from legacy ways of interacting with the system. Independently, from MR jobs, some extensions are valuable for the users.

      Documentation

      Scope Document
      Technical Design Document

            Assignee:
            jmikola@mongodb.com Jeremy Mikola
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: