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

Add $binarySize expression

    XMLWordPrintable

Details

    • Fully Compatible
    • Query 2019-12-02

    Description

      The query team has discussed and decided on the following syntax/semantics:

      Name: $binarySize

      Alternate Names: $binSize, $byteSize

      This expression takes an expression that evaluates to a string or BinData and return the size of the value in bytes. It will error if the result evaluates to a type other than string, BinData, or null. Given nullish, returns null.
      Syntax:

      { $binarySize: <Expression> }
      

      This will parse like all other unary expressions, and accept the argument by itself or as an array with one element.

      Original Description

      Implement an aggregation expression that return the length of BinData type value.

      This would work much in the same way as SERVER-14670

      Examples
      Input

      db.coll.insert({_id: 0, bin: new BinData(3, "OEJTfmD8twzaj/LPKLIVkA==")})
      

      Pipeline

      db.coll.aggregate([{
          $project: {
              "BinLength": {$binLenBytes: "$bin"}
          }
      }])
      

      Output

      {_id: 0, BinLength: 16}
      

      Attachments

        Issue Links

          Activity

            People

              david.percy@mongodb.com David Percy
              stephen.tunney@mongodb.com Stephen Tunney
              Votes:
              1 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: