       else
         throw new Error("Invalid compound method")
 
-  if isScore
-    score
   # For not queries, check that all tests have failed
-  else if type is "$not"
+  if type is "$not"
     passes is 0
   # $or queries have failed as no tests have passed
   # $and queries have passed as no tests failed

parseGetter = (getter) ->
  return if typeof getter is 'string' then (obj, key) -> obj[getter](key) else getter

runQuery = (items, query, getter, first, isScore) ->
  if arguments.length < 2
    # If no arguments or only the items are provided, then use the buildQuery interface
    return buildQuery.apply this, arguments
  if getter then getter = parseGetter(getter)
  query = single(parseQuery(query), getter, isScore) unless (utils.getType(query) is "Function")

  if first
    fn = utils.find

    # If the attribute test is true, perform the query
    if test
      if q.parsedQuery #nested queries
        test = single([q], getter)(model)
      else test = performQuery q.type, q.value, attr, model, getter
    if test
      passes++

    switch type
      when "$and"
        # Early false return for $and queries when any test fails
        return false unless test
      when "$not"
        # Early false return for $not queries when any test passes
        return false if test
