def query(database, collection, selector, options = {})
      read(Protocol::Query.new(database, collection, selector, options))
    end
def query(database, collection, selector, options = {})
      read(Protocol::Query.new(database, collection, selector, options))
    end
Execute a query on the node.

 @example Execute a query.
   node.query(database, collection, { name: "Tool" })

 @param [ Database ] database The database to query from.
 @param [ Collection ] collection The collection to query from.
 @param [ Hash ] selector The query selector.
 @param [ Hash ] options The query options.

 @raise [ QueryFailure ] If the query had an error.

 @return [ Message ] The result of the operation.

 @since 1.0.0