Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Notas de versión

Conozca las nuevas funcionalidades, mejoras y correcciones introducidas en las siguientes versiones de la MongoDB PHP librería:

  • Versión 2.3

  • Versión 2.2

  • Versión 2.1

  • Versión 2.0

  • Versión 1.21

  • Versión 1.20

  • Versión 1.19

  • Versión 1.18

  • Versión 1.17

El lanzamiento de la librería PHP v2.3 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Se añade soporte para operadores de actualización atómica en la API Builder. Se pueden utilizar métodos de fábrica del MongoDB\Builder\Update clase para construir documentos de actualización con finalización de código y verificación de tipos. Para obtener más información, consulte el Sección Actualización de desarrollador de la guía de documentos de actualización.

  • Actualiza el requisito de extensión PHP a la versión 2.3 o posterior.

  • Deprecia el soporte para MongoDB Server v4.2. Las versiones futuras de la librería PHP requerirán MongoDB Server v4.4 o posterior.

  • Agrega las enableOverloadRetargeting maxAdaptiveRetries opciones URI y. Estas opciones controlan el comportamiento de reintento cuando el controlador encuentra servidores sobrecargados. Para obtener más información, consulte Opciones de selección y detección de servidores.

Para obtener más información sobre los cambios en esta versión, consulte las notas de la versión v2.3 en GitHub.

El lanzamiento de la librería PHP v2.2 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Añade soporte para el operador de la pipeline de agregación $createObjectIds para generar ObjectIDs aleatorios.

  • Agrega soporte con los acumuladores de agregación $concatArrays y $setUnion.

  • Agrega soporte para la etapa $scoreFusion del pipeline.

  • Permite pasar una instancia de Pipeline en el método MongoDB\Collection::findOneAndUpdate() al usar actualizaciones de la pipeline.

  • Agrega el nuevo método MongoDB\Model\CollectionInfo::isView() a la clase MongoDB\Model\CollectionInfo.

  • Se agrega el método MongoDB\Database::getGridFSBucket() para mantener la coherencia con MongoDB\Database::getCollection().

Importante

cambio disruptivo

La versión2.1 de la librería PHP introduce los siguientes cambios disruptivos:

  • Deja de brindar soporte para el servidor MongoDB 4.0. La versión mínima compatible de MongoDB Server es 4.2.

El lanzamiento de la librería PHP v2.1 incluye las siguientes funcionalidades, mejoras y correcciones:

  • Agrega compatibilidad con PHP 8.5.

  • Agrega una API de escritura masiva de cliente para realizar operaciones de escritura en múltiples bases de datos y colecciones en la misma llamada. Para obtener más información sobre esta funcionalidad, consulta la sección Escritura masiva del cliente de la guía de Operaciones de escritura masiva.

Importante

cambio disruptivo

La versión2.0 de la librería PHP introduce los siguientes cambios disruptivos:

  • Los siguientes métodos devuelven void en vez de la respuesta de comando bruta:

    • MongoDB\Client: dropDatabase()

    • MongoDB\Collection: drop(), dropIndex(), dropIndexes(), dropSearchIndex(), rename()

    • MongoDB\Database: createCollection(), drop(), dropCollection(), renameCollection()

Para obtener más información sobre los cambios disruptivos de este lanzamiento, consulta la sección Cambios disruptivos de la versión 2.0 en la guía Actualizar versiones de librerías.

La versión v2.0 de la librería PHP incluye los siguientes cambios y eliminaciones de API:

  • Agrega los siguientes métodos:

    Los métodos Client::selectCollection(), Client::selectDatabase() y Database::selectCollection() quedarán obsoletos y serán reemplazados por estos nuevos métodos en una futura versión de driver, por lo tanto, considera cambiar su uso en tu aplicación.

  • Modifica los métodos MongoDB\Database::aggregate() y MongoDB\Collection::aggregate() para que puedan aceptar una instancia de Pipeline como parámetro $pipeline. Para ver ejemplos que utilicen esta construcción, consulta la sección Creador de agregación de la guía de agregación.

  • Reemplaza los indicios de tipo Cursor por CursorInterface para mejorar la extensibilidad y compatibilidad.

  • Remueve los campos desaprobados en los tipos de GridFS.

    • La librería no calcula el campo md5 cuando se carga un archivo en GridFS. Si su aplicación requiere un resumen de archivos, debe implementar este proceso fuera de GridFS y almacenar los valores en metadatos.

    • Los campos contentType y aliases ya no se almacenan en la colección files de GridFS. Si tu aplicación requiere esta información, debes almacenarla en los metadatos. Para obtener más información sobre GridFS, consulta la guía Almacenar archivos grandes.

  • Se remueven las siguientes opciones obsoletas para las operaciones de búsqueda:

    • maxScan

    • modifiers

    • oplogReplay

    • snapshot

    Para obtener información sobre las opciones admitidas para las operaciones de búsqueda, consulta la MongoDB\Collection::find() o MongoDB\Collection::findOne() documentación de la API.

  • Remueve el método obsoleto IndexInfo::isGeoHaystack().

  • Se remueven las opciones obsoletas autoIndexId y flags para el método MongoDB\Database::createCollection() .

  • Elimina el soporte para la funcionalidad map-reduce al eliminar los siguientes métodos y tipos obsoletos:

    • MongoDB\Collection::mapReduce()

    • MongoDB\MapReduceResult

    Puedes reescribir operaciones de map-reduce usando etapas del pipeline de agregación como $group y $merge. Para obtener más información, consulta map-reduce to pipeline de agregación en el Manual del MongoDB Server.

  • Remueve las siguientes implementaciones de Iterator:

    • MongoDB\Model\CollectionInfoIterator

    • MongoDB\Model\DatabaseInfoIterator

    • MongoDB\Model\IndexInfoIterator

    Los métodos MongoDB\Client::listDatabases(), MongoDB\Database::listCollections() y MongoDB\Collection::listIndexes() devuelven una instancia general de Iterator que proporciona los resultados correspondientes.

El lanzamiento de la librería PHP v1.21 incluye las siguientes funcionalidades, mejoras y correcciones:

Para obtener más información sobre los cambios en esta versión, consulta las v1.21 notas de versión en GitHub.

Importante

MongoDB Server v3.6 Fin de vida

Se eliminó la compatibilidad con MongoDB Server v3.6 en esta versión de la librería.

  • Agrega soporte para MongoDB Server v8.0.

  • Agrega soporte para consultas de rango encriptadas consultables (Queryable Encryption). Para utilizar esta funcionalidad, tu aplicación debe conectarse a MongoDB Server 8.0 o posterior. Para obtener más información sobre las consultas de rango QE, consulta Queryable Encryption en el manual de MongoDB Server.

  • Cuando una operación de un clúster no tiene éxito, la librería evita seleccionar el mismo servidor de mongos para los intentos de reintento de la operación si hay otros servidores de mongos disponibles.

  • Cuando crea una clave de datos KMIP, ahora puede especificar la opción delegated. Si esta opción se configura en true, el proveedor KMIP realiza el cifrado y descifrado de la clave de datos localmente, asegurando que la clave de cifrado nunca abandone el servidor KMIP.

  • Agrega la opción type en las especificaciones del índice de búsqueda para los métodos MongoDB\Collection::createIndex() y MongoDB\Collection::createSearchIndexes(). Este cambio permite crear índices de MongoDB Vector Search de forma programática. Para aprender más y ver ejemplos, consulta la guía Índices de búsqueda de MongoDB.

Para obtener más información sobre los cambios en esta versión, consulta las v1.20 notas de versión en GitHub.

Esta versión de la librería PHP no contiene cambios significativos y se añadió para mantener la paridad de versiones con la extensión de PHP.

  • Agrega una nueva API de GridFS para facilitar el trabajo con archivos utilizando las funciones existentes del sistema de archivos de PHP. El método MongoDB\GridFS\Bucket::registerGlobalStreamWrapperAlias() puede utilizarse para registrar un alias global para un `GridFS bucket`. Después de hacer esto, los archivos dentro de ese bucket pueden accederse utilizando solo un URI de archivo (por ejemplo, "gridfs://mybucket/hello.txt"). Se puede encontrar una demostración de esta API en el script de ejemplo gridfs_stream_wrapper.php.

  • Agrega los métodos MongoDB\Client::addSubscriber() y MongoDB\Client::removeSubscriber() a la clase MongoDB\Client para facilitar la registración de clases de supervisión circunscritas al objeto subyacente MongoDB\Driver\Manager.

Para aprender más sobre esta versión, consulta las Notas de la versión v1.18 en GitHub.

  • Introduce una nueva API "codec" para convertir BSON hacia y desde objetos PHP. Se puede encontrar más información sobre esta funcionalidad en el tutorial de Codecs.

  • Añade MongoDB\add_logger() y MongoDB\remove_logger() funciones a la librería. Estas funciones permiten a las aplicaciones registrar un Logger PSR-3 para recibir los mensajes de registro emitidos por el controlador. Anteriormente, los registros sólo estaban disponibles a través de la configuración mongodb.debug INI de la extensión.

  • Introduce los nuevos métodos MongoDB\Collection para crear y gestionar índices de MongoDB Search. Los índices de búsqueda de MongoDB Search se pueden consultar utilizando la etapa de pipeline de agregación $search, la cual es compatible con todas las versiones de la librería. Para obtener más información sobre los índices de MongoDB Search y los detalles de la etapa de agregación $search, consulta la documentación de Índices de MongoDB Search y $search.

  • Actualiza el requisito de extensión de mongodb a 1.17.0. La compatibilidad con PHP 7.2 y 7.3 se ha eliminado y la librería ahora requiere PHP 7.4 o una versión más reciente.

Para aprender más sobre esta versión, consulta las Notas de la versión v1.17 en GitHub.

Volver

Queryable Encryption con Symfony

En esta página