|
NAMEMango::Bulk - MongoDB bulk operations SYNOPSIS use Mango::Bulk;
my $bulk = Mango::Bulk->new(collection => $collection);
$bulk->insert({foo => 'bar'})->insert({foo => 'baz'})->execute;
DESCRIPTIONMango::Bulk is a container for MongoDB bulk operations, all operations will be automatically grouped so they don't exceed "max_bson_size" in Mango. ATTRIBUTESMango::Bulk implements the following attributes. collectionmy $collection = $bulk->collection; $bulk = $bulk->collection(Mango::Collection->new); Mango::Collection object this bulk operation belongs to. orderedmy $bool = $bulk->ordered; $bulk = $bulk->ordered($bool); Bulk operations are ordered, defaults to a true value. METHODSMango::Bulk inherits all methods from Mojo::Base and implements the following new ones. executemy $results = $bulk->execute; Execute bulk operations. You can also append a callback to perform operation non-blocking. $bulk->execute(sub {
my ($bulk, $err, $results) = @_;
...
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
find $bulk = $bulk->find({foo => 'bar'});
Query for next update or remove operation. insert $bulk = $bulk->insert({foo => 'bar'});
Insert document. remove$bulk = $bulk->remove; Remove multiple documents. remove_one$bulk = $bulk->remove_one; Remove one document. update $bulk = $bulk->update({foo => 'bar'});
Update multiple documents. update_one $bulk = $bulk->update_one({foo => 'baz'});
Update one document. upsert$bulk = $bulk->upsert; Next update operation will be an "upsert". SEE ALSOMango, Mojolicious::Guides, <http://mojolicio.us>.
|