Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Notas de versión

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

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

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

  • Agrega soporte para la contrapresión del cliente. Cuando un servidor devuelve un error de sobrecarga reintentable con un valor baseBackoffMS positivo, el controlador usa ese valor como base para su retroceso de reintento en lugar del valor predeterminado del controlador.

  • Agrega definiciones de tipo con forma de matriz para las opciones que se pasan al constructor MongoDB\Client y al método MongoDB\Client::createClientEncryption(). Las herramientas de análisis estático, como PHPStan y Psalm, pueden usar estos tipos para validar las opciones de cliente, controlador y cifrado automático.

  • Corrige un problema por el cual el método MongoDB\GridFS\Bucket::uploadFromStream() podría no cerrar su flujo de destino, lo que impedía que el archivo se escribiera en la base de datos.

Para obtener una lista completa de los cambios en esta versión, consulte las notas de2 la versión5 v. en GitHub.

El lanzamiento de la librería PHP v2.4.2 incluye el siguiente cambio:

Importante

La biblioteca PHP v2.4.2 incluye una corrección para CVE-202688023-.

Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte los boletines de seguridad de MongoDB.

Para obtener una lista completa de los cambios en esta versión, consulte las notas de la versión24v..2 en GitHub.

El lanzamiento de la librería PHP v2.4.1 incluye el siguiente cambio:

Importante

La biblioteca PHP v2.4.1 incluye una corrección para CVE-202681525-.

Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte los boletines de seguridad de MongoDB.

Para obtener una lista completa de los cambios en esta versión, consulte las notas de la versión24v..1 en GitHub.

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

  • Agrega soporte para la etapa del pipeline de agregación $rerank en la API de desarrolladores. Puede utilizar el método de fábrica Stage::rerank() para reordenar los documentos de entrada utilizando los modelos de reclasificación de Voyage AI y devolver los mismos documentos ordenados por relevancia.

  • Añade compatibilidad con la opción storedSource en las definiciones de índice de búsqueda vectorial de MongoDB. Puede utilizar esta opción para almacenar copias de campos especificados en el índice para una recuperación más rápida en el momento de la query. Para obtener más información, consulte Utilizar la opción storedSource en la guía de índices de MongoDB Search.

Importante

Las siguientes funcionalidades requieren MongoDB Server v8.3 o posterior.

  • Añade soporte para desarrolladores para las nuevas capacidades de $convert. Puede utilizar $convert para:

    • Realizar conversiones de base numéricas.

    • Convierta cualquier tipo a string.

    • Convierta una JSON string en un arreglo o un objeto.

  • Agrega soporte para $subtype, que devuelve el entero de subtipo para un valor BinData.

  • Agrega compatibilidad con $createObjectId, que genera un valor ObjectId aleatorio.

  • Agrega soporte para expresiones regulares en expresiones de string de agregación. Ahora puedes usar expresiones regulares en los argumentos find para $replaceOne y $replaceAll, y como delimitador para $split.

Para obtener una lista completa de los cambios en esta versión, consulte las notas de2 la versión4 v. en GitHub.

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

  • Agrega soporte para operadores de actualización atómica en la API de Builder. Puedes utilizar los métodos de fábrica de la clase MongoDB\Builder\Update para construir documentos de actualización con finalización de código y verificación de tipos. Para obtener más información, consulta la sección Update Builder de la guía Update Documents.

  • 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 opciones URI enableOverloadRetargeting y maxAdaptiveRetries. Estas opciones controlan el comportamiento de reintento cuando el controlador encuentra servidores sobrecargados y solo son compatibles con MongoDB 9.0 o posterior. Para aprender más,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 de2 la versión3 v. 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, consulte las notas de1 la versión21 v. 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, consulte las notas de1 la versión20 v. 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 obtener más información sobre esta versión, consulte las 118 notas de la versión v. 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.

  • Agrega las MongoDB\add_logger() funciones y a la biblioteca. Estas funciones MongoDB\remove_logger() permiten que las3 aplicaciones registren un registrador PSR- para recibir los mensajes de registro emitidos por el controlador. Anteriormente, los registros solo estaban disponibles a través de la configuración mongodb.debug de la INI 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 obtener más información sobre esta versión, consulte las 117 notas de la versión v. en GitHub.