NAME
Mango::Protocol - The MongoDB wire protocol
SYNOPSIS
use
Mango::Protocol;
my
$protocol
= Mango::Protocol->new;
my
$bytes
=
$protocol
->query(1,
'foo'
, {}, 0, 10, {}, {});
DESCRIPTION
Mango::Protocol is a minimalistic implementation of the MongoDB wire protocol.
METHODS
Mango::Protocol inherits all methods from Mojo::Base and implements the following new ones.
build_get_more
my
$bytes
=
$protocol
->build_get_more(
$id
,
$name
,
$return
,
$cursor
);
Build message for GET_MORE
operation.
build_kill_cursors
my
$bytes
=
$protocol
->build_kill_cursors(
$id
,
@ids
);
Build message for KILL_CURSORS
operation.
build_query
my
$bytes
=
$protocol
->build_query(
$id
,
$name
,
$flags
,
$skip
,
$return
,
$query
,
$fields
);
Build message for QUERY
operation.
command_error
my
$err
=
$protocol
->command_error(
$doc
);
Check document for command error.
next_id
my
$id
=
$protocol
->next_id(23);
Generate next id.
parse_reply
my
$reply
=
$protocol
->parse_reply(\
$str
);
Extract and parse reply
message.
query_failure
my
$err
=
$protocol
->query_failure(
$reply
);
Check reply for query failure.
write_error
my
$err
=
$protocol
->write_error(
$doc
);
Check document for write error.