         _cmn = if methodName.indexOf('Neo4jReactiveMethod_') isnt -1 then methodName.replace 'Neo4jReactiveMethod_', '' else methodName
         _query = query.call opts
 
-        uid = Package.sha.SHA256 _query
+        uid = Package.sha.SHA256 _query + JSON.stringify opts
         if collectionName
           self.query _query, opts, (error, data) ->
             throw new Meteor.Error '500', "[Meteor.neo4j.methods]", error if error

    check opts, Match.Optional Match.OneOf Object, null

    result = []
    if parsedData and not _.isEmpty parsedData
      _.each parsedData, (set) ->
        if set and _.isObject set
          _.each set, (doc) ->
            if _.has doc, '_id'
              result.push doc._id

    _n = new RegExp(/"([a-zA-z0-9]*)"|'([a-zA-z0-9]*)'|:[^\'\"\ ](\w*)/gi)

    while matches = _n.exec query
      if matches[0]
        result.push matches[0].replace(/["']/gi, '')
    if opts
      _.each opts, (value) ->
        if _.isString value
          result.push value
    _.uniq result
  ) else undefined



    check callback, Match.Optional Match.OneOf Function, null

    @check query
    uid = Package.sha.SHA256 query + JSON.stringify opts
    cached = Meteor.neo4j.cacheCollection.find uid: uid
    if cached.fetch().length == 0 or @isWrite(query)
      if Meteor.isServer
