       if isFunction(key) or arguments.length is 0
         cb = key
         key = @path() #use absolute key path to delete alias key itself
-      @_doOperation({key:key, type: "del"}, opts, cb)
+      if cb then delAsync key, opts, callback else delSync key, opts
     batchSync: (ops, opts) ->
       opts = @mergeOpts(opts)
       assignDeprecatedPrefixOption opts

      opts.path = getPathArray opts.path, @_pathArray
      aDbCore.batchAsync ops, opts, callback
    batch: (ops, opts, cb) ->
      @_doOperation(ops, opts, cb)
    getSync: (key, opts) ->
      if isObject key
        opts = key

      for k of vSubkeys
        vSubkeys[k].free()
      return
    ###
      put it self:
        put(cb)
