         _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




    cursor = collection.find {}
    getLabels = (doc) ->
      return switch
        when _.isObject(doc) and !!doc.__labels and doc.__labels.indexOf(':') is 0 then doc.__labels
        when _.isArray doc
          labelsArr = (record.__labels for record in doc when _.has record, '__labels')
          labelsArr = _.uniq labelsArr
          labelsArr.join ''
        else
          ''

    if Meteor.isServer
      cursor.observe
