Provided by: libmango-perl_1.25-1_all bug

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.

SEE ALSO

       Mango, Mojolicious::Guides, <http://mojolicio.us>.