Mango::Collection - MongoDB collection
use Mango::Collection; my $collection = Mango::Collection->new(db => $db); my $cursor = $collection->find({foo => 'bar'});
Mango::Collection is a container for MongoDB collections used by Mango::Database.
Mango::Collection implements the following attributes.
my $db = $collection->db; $collection = $collection->db(Mango::Database->new);
Mango::Database object this collection belongs to.
my $name = $collection->name; $collection = $collection->name('bar');
Name of this collection.
Mango::Collection inherits all methods from Mojo::Base and implements the following new ones.
my $cursor = $collection->find({foo => 'bar'});
Get Mango::Cursor object for query.
my $doc = $collection->find_one({foo => 'bar'}); my $doc = $collection->find_one($oid);
Find one document. You can also append a callback to perform operation non-blocking.
$collection->find_one({foo => 'bar'} => sub { my ($collection, $err, $doc) = @_; ... }); Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
my $name = $collection->full_name;
Full name of this collection.
my $oid = $collection->insert({foo => 'bar'}); my $oids = $collection->insert([{foo => 'bar'}, {baz => 'yada'}]);
Insert one or more documents into collection. You can also append a callback to perform operation non-blocking.
$collection->insert({foo => 'bar'} => sub { my ($collection, $err, $oid) = @_; ... }); Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
my $doc = $collection->remove; my $doc = $collection->remove({foo => 'bar'}); my $doc = $collection->remove({foo => 'bar'}, {single => 1});
Remove documents from collection. You can also append a callback to perform operation non-blocking.
$collection->remove(({foo => 'bar'}, {single => 1}) => sub { my ($collection, $err, $doc) = @_; ... }); Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
These options are currently available:
Remove only one document.
my $doc = $collection->update({foo => 'bar'}, {foo => 'baz'}); my $doc = $collection->update({foo => 'bar'}, {foo => 'baz'}, {multi => 1});
Update document in collection. You can also append a callback to perform operation non-blocking.
$collection->update(({foo => 'bar'}, {foo => 'baz'}, {multi => 1}) => sub { my ($collection, $err, $doc) = @_; ... }); Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
Update more than one document.
Insert document if none could be updated.
Mango, Mojolicious::Guides, http://mojolicio.us.
To install Mango, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mango
CPAN shell
perl -MCPAN -e shell install Mango
For more information on module installation, please visit the detailed CPAN module installation guide.