Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

MongoDB::QueryResult

Name MongoDB::QueryResult
Version v2.2.2
Located at /usr/share/perl5
File /usr/share/perl5/MongoDB/QueryResult.pm
Is Core No
Search CPAN for this module MongoDB::QueryResult
Documentation MongoDB::QueryResult
Module Details MongoDB::QueryResult


NAME

MongoDB::QueryResult - An iterator for Mongo query results


VERSION

version v2.2.2


SYNOPSIS

    $cursor = $coll->find( $filter );
    $result = $cursor->result;
    while ( $doc = $result->next ) {
        process_doc($doc)
    }


DESCRIPTION

This class defines an iterator against a query result. It automatically fetches additional results from the originating mongod/mongos server on demand.

For backwards compatibility reasons, the MongoDB::Cursor manpage encapsulates query parameters and generates a MongoDB::QueryResult object on demand. All iterators on MongoDB::Cursor delegate to MongoDB::QueryResult object.

Retrieving this object and iterating on it directly will be slightly more efficient.


USAGE

Error handling

Unless otherwise explicitly documented, all methods throw exceptions if an error occurs. The error types are documented in the MongoDB::Error manpage.

To catch and handle errors, the the Try::Tiny manpage and the Safe::Isa manpage modules are recommended:

Cursor destruction

When a MongoDB::QueryResult object is destroyed, a cursor termination request will be sent to the originating server to free server resources.

Multithreading

NOTE: Per threads documentation, use of Perl threads is discouraged by the maintainers of Perl and the MongoDB Perl driver does not test or provide support for use with threads.

Iterators are cloned in threads, but not reset. Iterating from multiple threads will give unpredictable results. Only iterate from a single thread.


METHODS

has_next

    if ( $response->has_next ) {
        ...
    }

Returns true if additional documents are available. This will attempt to get another batch of documents from the server if necessary.

next

    while ( $doc = $result->next ) {
        process_doc($doc)
    }

Returns the next document or undef if the server cursor is exhausted.

batch

  while ( @batch = $result->batch ) {
    for $doc ( @batch ) {
      process_doc($doc);
    }
  }

Returns the next batch of documents or an empty list if the server cursor is exhausted.

all

    @docs = $result->all;

Returns all documents as a list.


AUTHORS


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

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026