NAME
Mango::Protocol - The MongoDB wire protocol
SYNOPSIS
use Mango::Protocol;
my $protocol = Mango::Protocol->new;
my $bytes = $protocol->insert(23, 'foo.bar', {}, {foo => 'bar'});
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_delete
my $bytes = $protocol->build_delete($id, $name, $flags, $query);
Build message for delete
operation.
build_get_more
my $bytes = $protocol->build_get_more($id, $name, $return, $cursor);
Build message for get_more
operation.
build_insert
my $bytes = $protocol->build_insert($id, $name, $flags, @docs);
Build message for insert
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.
build_update
my $bytes = $protocol->build_update($id, $name, $flags, $query, $update);
Build message for update
operation.
command_error
my $err = $protocol->command_error($reply);
Check reply 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.