The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

# Copyright 2014 - present MongoDB, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
use strict;
# ABSTRACT: MongoDB single insert result object
use version;
our $VERSION = 'v1.999.0'; # TRIAL
use Moo;
ArrayOfHashRef
Numish
);
HashRef
);
with $_ for qw(
MongoDB::Role::_PrivateConstructor
MongoDB::Role::_WriteResult
);
#pod =attr inserted_count
#pod
#pod The number of documents inserted.
#pod
#pod =cut
has inserted_count => (
is => 'lazy',
builder => '_build_inserted_count',
isa => Numish,
);
sub _build_inserted_count
{
my ($self) = @_;
return scalar @{ $self->inserted };
}
#pod =attr inserted
#pod
#pod An array reference containing information about inserted documents (if any).
#pod Documents are just as in C<upserted>.
#pod
#pod =cut
has inserted => (
is => 'ro',
default => sub { [] },
isa => ArrayOfHashRef,
);
#pod =attr inserted_ids
#pod
#pod A hash reference built lazily from C<inserted> mapping indexes to object
#pod IDs.
#pod
#pod =cut
has inserted_ids => (
is => 'lazy',
builder => '_build_inserted_ids',
isa => HashRef,
);
sub _build_inserted_ids {
my ($self) = @_;
return { map { $_->{index}, $_->{_id} } @{ $self->inserted } };
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
MongoDB::InsertManyResult - MongoDB single insert result object
=head1 VERSION
version v1.999.0
=head1 SYNOPSIS
my $result = $coll->insert( $document );
if ( $result->acknowledged ) {
...
}
=head1 DESCRIPTION
This class encapsulates the result from the insertion of a single document.
=head1 ATTRIBUTES
=head2 inserted_count
The number of documents inserted.
=head2 inserted
An array reference containing information about inserted documents (if any).
Documents are just as in C<upserted>.
=head2 inserted_ids
A hash reference built lazily from C<inserted> mapping indexes to object
IDs.
=head1 METHODS
=head2 acknowledged
Indicates whether this write result was acknowledged. Always
true for this class.
=head2 assert
Throws an error if write errors or write concern errors occurred.
Otherwise, returns the invocant.
=head2 assert_no_write_error
Throws a MongoDB::WriteError if write errors occurred.
Otherwise, returns the invocant.
=head2 assert_no_write_concern_error
Throws a MongoDB::WriteConcernError if write concern errors occurred.
Otherwise, returns the invocant.
=head1 AUTHORS
=over 4
=item *
David Golden <david@mongodb.com>
=item *
Rassi <rassi@mongodb.com>
=item *
Mike Friedman <friedo@friedo.com>
=item *
Kristina Chodorow <k.chodorow@gmail.com>
=item *
Florian Ragwitz <rafl@debian.org>
=back
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2018 by MongoDB, Inc.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
=cut