Provided by: libmongodb-perl_2.2.2-2_all bug

NAME

       MongoDB::BulkWriteView - Bulk write operations against a query document

VERSION

       version v2.2.2

SYNOPSIS

           my $bulk = $collection->initialize_ordered_bulk_op;

           # Update one document matching the selector
           bulk->find( { a => 1 } )->update_one( { '$inc' => { x => 1 } } );

           # Update all documents matching the selector
           bulk->find( { a => 2 } )->update_many( { '$inc' => { x => 2 } } );

           # Update all documents matching the selector, with respect to a collation
           bulk->find( { a => { '$gte' => 'F' } )->collation($collation)
                 ->update_many( { '$inc' => { x => 2 } } );

           # Update all documents
           bulk->find( {} )->update_many( { '$inc' => { x => 2 } } );

           # Replace entire document (update with whole doc replace)
           bulk->find( { a => 3 } )->replace_one( { x => 3 } );

           # Update one document matching the selector or upsert
           bulk->find( { a => 1 } )->upsert()->update_one( { '$inc' => { x => 1 } } );

           # Update all documents matching the selector or upsert
           bulk->find( { a => 2 } )->upsert()->update_many( { '$inc' => { x => 2 } } );

           # Replaces a single document matching the selector or upsert
           bulk->find( { a => 3 } )->upsert()->replace_one( { x => 3 } );

           # Remove a single document matching the selector
           bulk->find( { a => 4 } )->delete_one();

           # Remove all documents matching the selector
           bulk->find( { a => 5 } )->delete_many();

           # Update any arrays with the matching filter
           bulk->find( {} )->arrayFilters([ { 'i.b' => 1 } ])->update_many( { '$set' => { 'y.$[i].b' => 2 } } );

           # Remove all documents matching the selector, with respect to a collation
           bulk->find( { a => { '$gte' => 'F' } )->collation($collation)->delete_many();

           # Remove all documents
           bulk->find( {} )->delete_many();

DESCRIPTION

       This class provides means to specify write operations constrained by a query document.

       To instantiate a "MongoDB::BulkWriteView", use the find method from MongoDB::BulkWrite.

       Except for "arrayFilters", "collation" and "upsert", all methods have an empty return on
       success; an exception will be thrown on error.

METHODS

   arrayFilters
           $bulk->arrayFilters( $array_filters )->update_many( $modification );

       Returns a new "MongoDB::BulkWriteView" object, where the specified arrayFilter will be
       used to determine which array elements to modify for an update operation on an array
       field.

   collation
           $bulk->collation( $collation )->delete_one;

       Returns a new "MongoDB::BulkWriteView" object, where the specified collation will be used
       to determine which documents match the query document.  A collation can be specified for
       any deletion, replacement, or update.

   delete_many
           $bulk->delete_many;

       Removes all documents matching the query document.

   delete_one
           $bulk->delete_one;

       Removes a single document matching the query document.

   replace_one
           $bulk->replace_one( $doc );

       Replaces the document matching the query document.  The document to replace must not have
       any keys that begin with a dollar sign, "$".

   update_many
           $bulk->update_many( $modification );

       Updates all documents  matching the query document.  The modification document must have
       all its keys begin with a dollar sign, "$".

   update_one
           $bulk->update_one( $modification );

       Updates a single document matching the query document.  The modification document must
       have all its keys begin with a dollar sign, "$".

   upsert
           $bulk->upsert->replace_one( $doc );

       Returns a new "MongoDB::BulkWriteView" object that will treat every update, update_one or
       replace_one operation as an upsert operation.

AUTHORS

       •   David Golden <david@mongodb.com>

       •   Rassi <rassi@mongodb.com>

       •   Mike Friedman <friedo@friedo.com>

       •   Kristina Chodorow <k.chodorow@gmail.com>

       •   Florian Ragwitz <rafl@debian.org>

COPYRIGHT AND LICENSE

       This software is Copyright (c) 2020 by MongoDB, Inc.

       This is free software, licensed under:

         The Apache License, Version 2.0, January 2004