NAME
Mango::Cursor - MongoDB cursor
SYNOPSIS
use
Mango::Cursor;
my
$cursor
= Mango::Cursor->new(
collection
=>
$collection
);
my
$docs
=
$cursor
->all;
DESCRIPTION
Mango::Cursor is a container for MongoDB cursors used by Mango::Collection.
ATTRIBUTES
Mango::Cursor implements the following attributes.
batch_size
my
$size
=
$cursor
->batch_size;
$cursor
=
$cursor
->batch_size(10);
Number of documents to fetch in one batch, defaults to 0
.
collection
my
$collection
=
$cursor
->collection;
$cursor
=
$cursor
->collection(Mango::Collection->new);
Mango::Collection object this cursor belongs to.
id
my
$id
=
$cursor
->id;
$cursor
=
$cursor
->id(123456);
Cursor id.
limit
my
$limit
=
$cursor
->limit;
$cursor
=
$cursor
->limit(10);
Limit the number of documents, defaults to 0
.
METHODS
Mango::Cursor inherits all methods from Mojo::Base and implements the following new ones.
add_batch
$cursor
=
$cursor
->add_batch(
$docs
);
Add batch of documents to cursor.
all
my
$docs
=
$cursor
->all;
Fetch all documents at once. You can also append a callback to perform operation non-blocking.
$cursor
->all(
sub
{
my
(
$cursor
,
$err
,
$docs
) =
@_
;
...
});
Mojo::IOLoop->start
unless
Mojo::IOLoop->is_running;
next
my
$doc
=
$cursor
->
next
;
Fetch next document. You can also append a callback to perform operation non-blocking.
$cursor
->
next
(
sub
{
my
(
$cursor
,
$err
,
$doc
) =
@_
;
...
});
Mojo::IOLoop->start
unless
Mojo::IOLoop->is_running;
rewind
$cursor
->rewind;
Rewind cursor and kill it on the server. You can also append a callback to perform operation non-blocking.
$cursor
->rewind(
sub
{
my
(
$cursor
,
$err
) =
@_
;
...
});
Mojo::IOLoop->start
unless
Mojo::IOLoop->is_running;
num_to_return
my
$num
=
$cursor
->num_to_return;
Number of results to return with next QUERY
or GET_MORE
operation based on "batch_size" and "limit".