Obtenga información sobre las nuevas características, mejoras y correcciones introducidas en las siguientes versiones de la biblioteca PHP de MongoDB:
Novedades en 2.2
El lanzamiento de la librería PHP v2.2 incluye las siguientes funcionalidades, mejoras y correcciones:
Añade soporte para el
$createObjectIdsOperador de canalización de agregación para generar ObjectID aleatorios.Agrega soporte para los acumuladores de agregación
$concatArraysy$setUnion.Agrega soporte para la etapa de canalización
$scoreFusion.Permite pasar una instancia
Pipelineen elMongoDB\Collection::findOneAndUpdate()método al utilizar actualizaciones de canalización.Agrega el nuevo método a
MongoDB\Model\CollectionInfo::isView()laMongoDB\Model\CollectionInfoclase.Agrega el
MongoDB\Database::getGridFSBucket()método para mantener laMongoDB\Database::getCollection()coherencia con.
Novedades en 2.1
Importante
Cambios radicales
La versión v2.1 de la biblioteca PHP introduce los siguientes cambios importantes:
Se elimina la compatibilidad con MongoDB Server 4.0. La versión mínima compatible con MongoDB Server es 4.2.
El lanzamiento de la librería PHP v2.1 incluye las siguientes funcionalidades, mejoras y correcciones:
Añade compatibilidad con PHP 8.5.
Añade una API de escritura masiva de cliente para realizar operaciones de escritura en varias bases de datos y colecciones en la misma llamada. Para obtener más información sobre esta función, consulte la sección "Escritura masiva de cliente" de la guía "Operaciones de escritura masiva".
Novedades en 2.0
Importante
Cambios radicales
La versión v2.0 de la biblioteca PHP introduce los siguientes cambios importantes:
Los siguientes métodos devuelven
voiden lugar de la respuesta del comando sin procesar: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 importantes en esta versión, consulte la sección Cambios importantes de 2.0 la versión en la guía Actualizar versiones de la biblioteca.
La versión v2.0 de la biblioteca PHP incluye los siguientes cambios y eliminaciones de API:
Agrega los siguientes métodos:
MongoDB\Client::getDatabase(): alias paraMongoDB\Client::selectDatabase()MongoDB\Client::getCollection(): alias paraMongoDB\Client::selectCollection()MongoDB\Database::getCollection(): alias paraMongoDB\Database::selectCollection()
Los métodos
Client::selectCollection(),Client::selectDatabase()yDatabase::selectCollection()quedarán obsoletos y serán reemplazados por estos nuevos métodos en una futura versión del controlador, así que considere cambiar los usos en su aplicación.Modifica los
MongoDB\Database::aggregate()métodos y para que acepten unaMongoDB\Collection::aggregate()Pipelineinstancia como$pipelineparámetro. Para ver ejemplos que utilizan esta construcción, consulte la sección "Generador de agregaciones" de la guía de agregación.Reemplaza las sugerencias de tipo
CursorconCursorInterfacepara una mejor extensibilidad y compatibilidad.Elimina campos obsoletos en los tipos GridFS.
La biblioteca no calcula el campo
md5al subir un archivo a GridFS. Si su aplicación requiere un resumen de archivo, debe implementar este proceso fuera de GridFS y almacenar los valores en metadatos.Los campos
contentTypey yaaliasesno se almacenan en lafilescolección de GridFS. Si su aplicación requiere esta información, debe almacenarla en metadatos. Para obtener más información sobre GridFS, consulte la guía "Almacenar archivos grandes".
Elimina las siguientes opciones obsoletas para operaciones de búsqueda:
maxScanmodifiersoplogReplaysnapshot
Para obtener más información sobre las opciones admitidas para operaciones de búsqueda, consulte la documentación de
MongoDB\Collection::find()MongoDB\Collection::findOne()la API o.Remueve el método obsoleto
IndexInfo::isGeoHaystack().Elimina las opciones obsoletas
autoIndexIdyflagspara el métodoMongoDB\Database::createCollection().Elimina la compatibilidad con la funcionalidad de reducción de mapas eliminando los siguientes métodos y tipos obsoletos:
MongoDB\Collection::mapReduce()MongoDB\MapReduceResult
Puede reescribir las operaciones de map-reduce mediante etapas de canalización de agregación como
$group$mergey. Para obtener más información, consulte Map-Reduce a canalización de agregación en el manual de MongoDB Server.Elimina las siguientes
Iteratorimplementaciones:MongoDB\Model\CollectionInfoIteratorMongoDB\Model\DatabaseInfoIteratorMongoDB\Model\IndexInfoIterator
Los métodos,
MongoDB\Client::listDatabases()MongoDB\Database::listCollections()y devuelven una instancia general transitableMongoDB\Collection::listIndexes()Iteratorque proporciona los resultados correspondientes.
Novedades en 1.21
El lanzamiento de la librería PHP v1.21 incluye las siguientes funcionalidades, mejoras y correcciones:
Presenta el Generador de Agregaciones, una API para crear pipelines de agregación con mayor seguridad de tipos. Para obtener más información y ver ejemplos, consulte la sección Generador de Agregaciones de la guía de Agregación.
Agrega los siguientes métodos:
MongoDB\Client::getDatabase(): alias paraMongoDB\Client::selectDatabase()MongoDB\Database::getCollection(): alias paraMongoDB\Database::selectCollection()MongoDB\Database::getCollection(): alias paraMongoDB\Database::selectCollection()
Los métodos
Client::selectCollection(),Client::selectDatabase()yDatabase::selectCollection()quedarán obsoletos y serán reemplazados por estos nuevos métodos en una futura versión del controlador, así que considere cambiar los usos en su aplicación.Se añaden argumentos con nombre para las
SearchStageVectorSearchStageSearchMetaStageclases de constructor, y. Este cambio permite escribir consultas de búsqueda y búsqueda vectorial de MongoDB de forma más organizada y segura. Para obtener más información, consulte las guías "Ejecutar una consulta de búsqueda de MongoDB" y "Ejecutar una consulta de búsqueda vectorial de MongoDB".Se desestima la opción
flags, utilizada para el motor de almacenamiento MMAPv1, que ya no se utiliza. Esta opción se eliminará en la biblioteca PHP v2.0.Añade una opción de ordenación a los métodos y. Este cambio también permite configurar un orden de ordenación al realizar operaciones de actualización y reemplazo en una operación
MongoDB\Collection::updateOne()MongoDB\Collection::replaceOne()masiva.Agrega la opción
builderEncodera los siguientes métodos:
Para obtener más información sobre los cambios en esta versión, consulte las notas de la versión v1.21 en GitHub.
Novedades en 1.20
Importante
Fin de vida útil del servidor MongoDB v3.6
En esta versión de la biblioteca se elimina el soporte para MongoDB Server v3.6.
Agrega soporte para MongoDB Server v8.0.
Añade compatibilidad con consultas de rango de cifrado consultable (QE). Para usar esta función, la aplicación debe conectarse a MongoDB Server 8.0 o posterior. Para obtener más información sobre las consultas de rango de QE, consulte "Cifrado consultable" en el manual de MongoDB Server.
Cuando una operación de clúster fragmentado no es exitosa, la biblioteca evita seleccionar el mismo servidor
mongospara los intentos de reintento de la operación si hay otros servidoresmongosdisponibles.Al crear una clave de datos KMIP, ahora puede especificar la opción
delegated. Si esta opción se establece entrue, el proveedor de KMIP realiza el cifrado y descifrado de la clave de datos localmente, garantizando así que esta nunca salga del servidor KMIP.Se añade la
typeopción a las especificaciones de índices de búsqueda para los métodos y. Este cambio permite crear índices de búsqueda vectorial deMongoDB\Collection::createIndex()MongoDB mediante programación. Para obtener más información y verMongoDB\Collection::createSearchIndexes()ejemplos, consulte la guía de índices de búsqueda de MongoDB.
Para obtener más información sobre los cambios en esta versión, consulte las 1.20 notas de la versión v en GitHub.
Novedades en 1.19
Esta versión de la biblioteca PHP no contiene cambios significativos y se agregó para mantener la paridad de versiones con la extensión PHP.
Novedades en 1.18
Añade una nueva API de GridFS para facilitar el trabajo con archivos mediante las funciones del sistema de archivos de PHP. El
MongoDB\GridFS\Bucket::registerGlobalStreamWrapperAlias()método permite registrar un alias global para un bucket de GridFS. Tras ello, se puede acceder a los archivos de ese bucket utilizando únicamente una URI (p. ej., "gridfs://mybucket/hello.txt"). Se puede encontrar una demostración de esta API en el script de ejemplo gridfs_stream_wrapper.php.Agrega métodos
MongoDB\Client::addSubscriber()yMongoDB\Client::removeSubscriber()a la claseMongoDB\Clientpara facilitar el registro de clases de monitoreo con alcance al objetoMongoDB\Driver\Managersubyacente.
Para obtener más información sobre esta versión, consulte las 1.18 Notas de la versión v en GitHub.
Novedades en 1.17
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 las
MongoDB\add_logger()funciones y a la biblioteca. Estas funcionesMongoDB\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 mediante la configuración mongodb.debug de laINIextensión.Se introducen los nuevos métodos para crear y gestionar índices de búsqueda de MongoDB. Los índices de búsqueda de MongoDB se pueden consultar mediante
MongoDB\Collectionla$searchetapa de canalización de agregación, compatible con todas las versiones de la biblioteca. Para obtener más información sobre los índices de búsqueda de MongoDB y los detalles de la$searchetapa de agregación, consulte la documentación de los índices de búsqueda de MongoDB y $search.Se actualiza el requisito de extensión
mongodba 1.17.0. Se ha eliminado la compatibilidad con PHP 7.2 y 7.3, y la biblioteca ahora requiere PHP 7.4 o posterior.
Para obtener más información sobre esta versión, consulte las 1.17 Notas de la versión v en GitHub.