   #   connect().find("posts").where(author_id: author._id)
   where: (selector)->
     combined = {}
-    if @_selector
-      combined[k] = v for k, v of @_selector
+    if @selector
+      combined[k] = v for k, v of @selector
     if selector
       combined[k] = v for k, v of selector
-    return new Scope(@_collection, combined, @_options)
+    return new Scope(@collection, combined, @options)
 
   # Instructs query to return only named fields.  You can call with multiple
   # arguments, an array argument or no arguments if you're only interested in

  #   connect().find("posts", author_id: id).one (err, post, db)->
  one: (callback)->
    throw new Error("Callback required") unless callback instanceof Function
    @_collection.one @_selector, @_options, callback

  # Passes each object to callback.  Passes null as last object.
  #

      [callback, options] = [options, null]
    if !callback && !options && selector instanceof Function
      [callback, selector] = [selector, null]
    if selector instanceof @database.ObjectID || selector instanceof String
      if callback
        @one selector, options, callback
      else
        return @where(_id: selector).extend(options)
    else
      if callback
        @all selector, options, callback
      else
        return @where(selector).extend(options)

  # Passes matching object from this query to callback.
  #
