The PHP team is happy to announce that version 1.4.0 of the MongoDB PHP library is now available. This library is a high-level abstraction for the
mongodb extension. This release adds support for new features in
MongoDB 4.0 and drops support for MongoDB 2.6 and earlier.
Release HighlightsMongoDB 4.0 introduces support for cluster-level and database-level
change streams, which may be created via the new
MongoDB\Client::watch() and
MongoDB\Database::watch() methods, respectively. All change streams now support a startAtOperationTime option, which can be used to specify an exact point in time for the change stream to begin. Additionally, the internal logic for resuming change streams after encountering an error has been improved.
New
MongoDB\Collection::countDocuments() and
MongoDB\Collection::estimatedDocumentCount() methods have been introduced. countDocuments() may be executed within (or without) a transaction and should be preferred where an exact document count is required. estimatedDocumentCount() cannot be executed within a transaction but may otherwise be used when an approximate, non-filtered count is acceptable. The
MongoDB\Collection::count() has been deprecated (in documentation only) due to its incompatibility with transactions and inaccuracy in sharded clusters. Users should note that countDocuments() uses an aggregation pipeline instead of the
count command, so it does not support $where, $near, and $nearSphere query operators accepted in a count() filter (alternative syntax is discussed in the countDocuments() documentation).
A
MongoDB\Collection::explain() method has been introduced as a helper for the
explain command, which may be used to explain operations such as find, findAndModify, update, and others.
MongoDB\Collection::aggregate() now also supports an explain option (note: the server's API for explaining
aggregate differs from other commands).
Several usability improvements were made for the library's model classes for database, collection, and index information. Additionally, a
MongoDB\Database::modifyCollection() method has been introduced as a wrapper for the
collMod command.
This release upgrades the mongodb extension requirement to 1.5.0. Support for MongoDB 2.6 and earlier has been removed.
A complete list of resolved issues in this release may be found at:
https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=12483&version=19898DocumentationDocumentation for this library may be found at:
https://docs.mongodb.com/php-library/InstallationThis library may be installed or upgraded with:
composer require mongodb/mongodb=^1.4.0
Installation instructions for the mongodb extension may be found in the
PHP.net documentation.