Implement object and type-conversion expression operators and tests

XMLWordPrintableJSON

    • Type: Sub-task
    • Resolution: Done
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • Go Drivers
    • Not Needed
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      Context
      $setField conflicts with the existing SetField interface type in mql/agg/stage.go (used by the $set stage builder). Name the expression operator SetDocField instead.

      Definition of Done

      • All of the following operators are implemented in mql/agg/operator.go, each with a one-line doc comment:
        • Object: $mergeObjects, $objectToArray, $bsonSize, $binarySize, $getField, $setField (as SetDocField), $unsetField (as UnsetDocField)
        • Type conversion: $toBool, $toInt, $toLong, $toDouble, $toDecimal, $toString, $toObjectId, $toArray, $toObject, $type, $isNumber, $isArray, $subtype, $toHashedIndexKey, $convert
      • Each operator has at least one test in mql/agg/operator_test.go

            Assignee:
            Lin Borland
            Reporter:
            Lin Borland
            Qingyang Hu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: