whole_func_string: function(id, update, options, context) {
      var driverOptions = {}
      if (options.upsert) {
        driverOptions = _.assignIn(driverOptions, options.driverOptions, {upsert: true})
      }
      // use updateOne to expose upsertedCount
      var result = this.collection.updateOne({_id: id}, update, driverOptions)
      var _result = {
        // omit matchedCount here since we are counting updates
        val: result.modifiedCount + result.upsertedCount,
        created: result.upsertedCount > 0
      }
      if (_result.created) {
        _result.val = result.upsertedId
      }
      return _result
    }
func_code_string: function(id, update, options, context) {
      var driverOptions = {}
      if (options.upsert) {
        driverOptions = _.assignIn(driverOptions, options.driverOptions, {upsert: true})
      }
      // use updateOne to expose upsertedCount
      var result = this.collection.updateOne({_id: id}, update, driverOptions)
      var _result = {
        // omit matchedCount here since we are counting updates
        val: result.modifiedCount + result.upsertedCount,
        created: result.upsertedCount > 0
      }
      if (_result.created) {
        _result.val = result.upsertedId
      }
      return _result
    }
func_documentation_string: ***************************************************************************
  @method updateObject
  @description Update a specific object
  @param {string} id -- The ID of the object to update
  @param {Object} update -- The update to be applied to the collection
  @param {Object} options -- The operation parameters (see:
  {@link carbond.mongodb.MongoDBCollection.UpdateObjectConfigClass})
  @param {Object} context -- A free form object to pass data between hook and handler
  methods
  @returns {typedef:carbond.collections.Collection.UpdateObjectResult}
  @throws {carbond.collections.errors.CollectionError}