       vOptions.path = options.path
       result.push k if k isnt false
         
-    result = AbstractNoSQL.mGetSync.call(@, result, options)
+    result = AbstractNoSQL::mGetSync.call(@, result, options)
     if options.keys isnt false
       result.map (item)=>
         item.key = @decodeKey item.key, options

    options = extend {}, @_options, options
    key = @encodeKey(path, key, options)
    return false if key is false
    AbstractNoSQL.isExistsAsync.call @, key, options, callback
  getSync: (key, options) ->
    path = @getPath(options)
    options = extend {}, @_options, options
    key = @encodeKey path, key, options, GET_OP
    return false if key is false
    result = AbstractNoSQL.getSync.call(@, key, options)
    encoding = @valueEncoding options
    result = encoding.decode(result) if encoding
    result

      @cache = null
    super(isOpened, options)
  getPath: (options) ->
    vParentPath = if @_options and @_options.path then @_options.path else []
    result = if options and options.path then getPathArray(options.path, vParentPath) else vParentPath
    result
  isExistsSync: (key, options) ->
    path = @getPath(options)
    options = extend {}, @_options, options
    key = @encodeKey(path, key, options)
    return false if key is false
    AbstractNoSQL::isExistsSync.call @, key, options
  isExistsAsync: (key, options, callback) ->
    path = @getPath(options)
    if isFunction options
