MongoDB::Cursor man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

MongoDB::Cursor(3)    User Contributed Perl Documentation   MongoDB::Cursor(3)

NAME
       MongoDB::Cursor - A cursor/iterator for Mongo query results

SYNOPSIS
	   while (my $object = $cursor->next) {
	       ...
	   }

	   my @objects = $cursor->all;

   Multithreading
       Cloning instances of this class is disabled in Perl 5.8.7+, so forked
       threads will have to create their own database queries.

SEE ALSO
       Core documentation on cursors:
       <http://dochub.mongodb.org/core/cursors>.

STATIC ATTRIBUTES
   slave_okay
	   $MongoDB::Cursor::slave_okay = 1;

       Whether it is okay to run queries on the slave.	Defaults to 0.

   timeout
       Deprecated, use MongoDB::Connection::query_timeout instead.

       How many milliseconds to wait for a response from the server.  Set to
       30000 (30 seconds) by default.  -1 waits forever (or until TCP times
       out, which is usually a long time).

       This value is overridden by "MongoDB::Connection::query_timeout" and
       never used.

ATTRIBUTES
   started_iterating
       If this cursor has queried the database yet. Methods mofifying the
       query will complain if they are called after the database is queried.

   immortal
	   $cursor->immortal(1);

       Ordinarily, a cursor "dies" on the database server after a certain
       length of time (approximately 10 minutes), to prevent inactive cursors
       from hogging resources.	This option sets that a cursor should not die
       until all of its results have been fetched or it goes out of scope in
       Perl.

       Boolean value, defaults to 0.

       "immortal" is not equivalent to setting a client-side timeout.  If you
       are getting client-side timeouts (e.g., "recv timed out"), set
       "query_timeout" on your connection.

	   # wait forever for a query to return results
	   $connection->query_timeout(-1);

       See "query_timeout" in MongoDB::Connection.

   tailable
	   $cursor->tailable(1);

       If a cursor should be tailable.	Tailable cursors can only be used on
       capped collections and are similar to the "tail -f" command: they never
       die and keep returning new results as more is added to a collection.

       They are often used for getting log messages.

       Boolean value, defaults to 0.

   partial
       If a shard is down, mongos will return an error when it tries to query
       that shard.  If this is set, mongos will just skip that shard, instead.

       Boolean value, defaults to 0.

   slave_okay
	   $cursor->slave_okay(1);

       If a query can be done on a slave database server.

       Boolean value, defaults to 0.

METHODS
   fields (\%f)
	   $coll->insert({name => "Fred", age => 20});
	   my $cursor = $coll->query->fields({ name => 1 });
	   my $obj = $cursor->next;
	   $obj->{name}; "Fred"
	   $obj->{age}; # undef

       Selects which fields are returned.  The default is all fields.  _id is
       always returned.

   sort ($order)
	   # sort by name, descending
	   my $sort = {"name" => -1};
	   $cursor = $coll->query->sort($sort);

       Adds a sort to the query.  Argument is either a hash reference or a
       Tie::IxHash.  Returns this cursor for chaining operations.

   limit ($num)
	   $per_page = 20;
	   $cursor = $coll->query->limit($per_page);

       Returns a maximum of N results.	Returns this cursor for chaining
       operations.

   skip ($num)
	   $page_num = 7;
	   $per_page = 100;
	   $cursor = $coll->query->limit($per_page)->skip($page_num * $per_page);

       Skips the first N results. Returns this cursor for chaining operations.

       See also core documentation on limit:
       <http://dochub.mongodb.org/core/limit>.

   snapshot
	   my $cursor = $coll->query->snapshot;

       Uses snapshot mode for the query.  Snapshot mode assures no duplicates
       are returned, or objects missed, which were present at both the start
       and end of the query's execution (if an object is new during the query,
       or deleted during the query, it may or may not be returned, even with
       snapshot mode).	Note that short query responses (less than 1MB) are
       always effectively snapshotted.	Currently, snapshot mode may not be
       used with sorting or explicit hints.

   hint
	   my $cursor = $coll->query->hint({'x' => 1});

       Force Mongo to use a specific index for a query.

   explain
	   my $explanation = $cursor->explain;

       This will tell you the type of cursor used, the number of records the
       DB had to examine as part of this query, the number of records returned
       by the query, and the time in milliseconds the query took to execute.
       Requires boolean package.

       "explain" resets the cursor, so calling "next" or "has_next" after an
       explain will requery the database.

       See also core documentation on explain:
       <http://dochub.mongodb.org/core/explain>.

   count($all?)
	   my $num = $cursor->count;
	   my $num = $cursor->skip(20)->count(1);

       Returns the number of document this query will return.  Optionally
       takes a boolean parameter, indicating that the cursor's limit and skip
       fields should be used in calculating the count.

   reset
       Resets the cursor.  After being reset, pre-query methods can be called
       on the cursor (sort, limit, etc.) and subsequent calls to next,
       has_next, or all will re-query the database.

   has_next
	   while ($cursor->has_next) {
	       ...
	   }

       Checks if there is another result to fetch.

   next
	   while (my $object = $cursor->next) {
	       ...
	   }

       Returns the next object in the cursor. Will automatically fetch more
       data from the server if necessary. Returns undef if no more data is
       available.

   info
       Returns a hash of information about this cursor.	 Currently the fields
       are:

       "cursor_id"
	   The server-side id for this cursor.	A "cursor_id" of 0 means that
	   there are no more batches to be fetched.

       "num"
	   The number of results returned so far.

       "at"
	   The index of the result the cursor is currently at.

       "flag"
	   If the database could not find the cursor or another error
	   occurred, "flag" may be set (depending on the error).  See
	   http://www.mongodb.org/display/DOCS/Mongo+Wire+Protocol#MongoWireProtocol-OPREPLY
	   <http://www.mongodb.org/display/DOCS/Mongo+Wire+Protocol#MongoWireProtocol-
	   OPREPLY> for a full list of flag values.

       "start"
	   The index of the result that the current batch of results starts
	   at.

   all
	   my @objects = $cursor->all;

       Returns a list of all objects in the result.

AUTHOR
	 Kristina Chodorow <kristina@mongodb.org>

perl v5.14.2			  2011-09-07		    MongoDB::Cursor(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net