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

change $integral&$derivative argument from 'outputUnit' to 'unit'

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 5.0.0-rc5
    • Affects Version/s: None
    • Component/s: None
    • None
    • Minor Change
    • ALL
    • v5.0
    • Query Optimization 2021-07-26

      In the $integral and the $derivative window functions, 'outputUnit' specifies how to express time deltas as a number. We originally called it 'outputUnit' to avoid a name collision with the 'unit' used for the window bounds.

      This name is confusing though, because often the measurements implicitly have a unit involving time. For example, suppose you have numbers representing meters/second, and times represented as a datetime. The result will have units of meters, so writing outputUnit: 'second' is counterintuitive.

      Now that the 'window' arguments are separate, we could go back to calling this argument just 'unit':

      {$integral: {
         input: "$rate",
         unit: "second"
       },
       window: {
         range: [-1, 0],
         unit: "hour"
       }
      }
      

            Assignee:
            jacob.evans@mongodb.com Jacob Evans
            Reporter:
            david.percy@mongodb.com David Percy
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: