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

Add $binarySize expression

    • Fully Compatible
    • Query 2019-12-02

      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}
      

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

              Created:
              Updated:
              Resolved: