             (related_query = {}).id = value
             reverse_relation.model_type.cursor(related_query).toJSON (err, models_json) =>
               return callback(err) if err
-              mergeQuery(find_query, '_json', _.map(models_json, (test) -> test[reverse_relation.key]))
+              mergeQuery(find_query, '_json', (model_json[reverse_relation.key] for model_json in models_json))
               callback()
           else
             (related_query = {})[key] = value

        else
          # filter by ids
          if @_cursor.$ids
            json = (JSONUtils.deepClone(model_json) for model_json in @store when _.contains(@_cursor.$ids, model_json.id))
          else
            json = (JSONUtils.deepClone(model_json) for model_json in @store)
          callback()

        if keys.length or !ins_is_empty or !nins_is_empty
          if @_cursor.$ids
            for model_json in @store
              json.push(JSONUtils.deepClone(model_json)) if (model_json.id in @_cursor.$ids) and _.isEqual(_.pick(model_json, keys), find_query)
            callback()

          else
