Docs Menu
Docs Home
/ /

Novedades

Obtenga información sobre las nuevas características, mejoras y correcciones introducidas en las siguientes versiones del controlador MongoDB Scala:

  • Versión 5.3

  • Versión 5.2

  • Versión 5.1.3

  • Versión 5.1.1

  • Versión 5.1

La versión del controlador 5.3 incluye los siguientes cambios, correcciones y características:

  • Importante: La próxima versión menor dejará de ser compatible con la versión de MongoDB Server 4.0 y aumentará la versión mínima compatible 4.2 a. Recomendamos realizar cambios en su aplicación para adaptarla a los cambios importantes. Consulte la sección Notas de la versión en el manual de MongoDB Server para obtener más información sobre la actualización.

  • Añade el BinaryVector Clase para implementar el subtipo binario BSON 9 para el almacenamiento y la recuperación de vectores. Esta clase proporciona un almacenamiento de valores más eficaz que una lista de instancias Double. Puede crear los siguientes tipos de vectores según el tipo de elementos que contenga:

    • Int8BinaryVector: Vector de enteros con signo de 8bits

    • Float32BinaryVector: Vector de números de punto flotante

    • PackedBitBinaryVector: Vector binario cuantizado (En beta y sujeto a cambios antes de estar disponible para el público en general)

    Para obtener más información sobre esta función, consulte Cuantización vectorial en la documentación de Atlas. Para obtener más información sobre este tipo, consulte la documentación de la API BinaryVector.

  • Elimina la equidad explícita de la implementación del grupo de conexiones. Este cambio podría contribuir a un mejor rendimiento al usar una instancia MongoClient en varios subprocesos de la aplicación. Sin embargo, este cambio podría causar una mayor latencia de cola.

  • Añade una opción de ordenación a los métodos updateOne() y replaceOne(). Este cambio también permite configurar una opción de ordenación al crear instancias ReplaceOneModel y UpdateOneModel. Para obtener más información, consulte Guías deactualización de documentos, reemplazo de documentos y operaciones de escritura masiva.

Importante

Eliminación del soporte para el servidor MongoDB 3.6

El controlador de Scala v5.2 elimina la 3.6 compatibilidadcon MongoDB Server. Para obtener más información sobre las versiones compatibles del servidor, consulte Compatibilidad.

La versión del controlador 5.2 incluye los siguientes cambios, correcciones y características:

  • Permite configurar un tiempo de espera para operaciones del lado del cliente (CSOT). Esta función permite configurar un tiempo de espera único en la MongoClient instancia que se aplica a todas las operaciones realizadas con ese cliente. Para obtener más información, consulte la guía "Limitar el tiempo de ejecución del servidor".

    Si, y solo si, la función CSOT está habilitada, el controlador ignora las siguientes opciones de tiempo de espera:

    • waitQueueTimeoutMS

    • socketTimeoutMS

    • wTimeoutMS

    • maxTimeMS

    • maxCommitTimeMS

    Importante

    Característica experimental

    CSOT es una función experimental y aún no está disponible para producción. Esta función es opcional en la versión actual y las opciones de tiempo de espera existentes siguen funcionando.

  • Agrega la clase SearchIndexType, que puedes pasar al construir una instancia de SearchIndexModel. Este cambio te permite especificar el tipo de índice al crear un índice de Atlas búsqueda o búsqueda vectorial. Para obtener más información, consulta la documentación de la API SearchIndexModel.

  • Delega la implementación de los algoritmos que implementan los mecanismos de autenticación SCRAM-SHA-1 y SCRAM-SHA-256 al proveedor JCA configurado. Este cambio significa que su aplicación puede usar un proveedor JCA configurado compatible con FIPS para proporcionar un mayor nivel de seguridad.

  • Se revisa el control de versiones de la dependencia mongodb-crypt para que coincida con el de los controladores de JVM. Las futuras versiones de mongodb-crypt se publicarán junto con el controlador y compartirán el mismo número de versión. Debe actualizar su mongodb-crypt dependencia a5 20 la versión.. al actualizar su controlador para esta versión. Para obtener más información, consulte la guía de cifrado en uso.

  • Mejoras de rendimiento gracias a la implementación de criptografía nativa en todas las plataformas compatibles. La siguiente lista describe las acciones necesarias para implementar esta mejora según el sistema operativo:

    • Windows: Actualice su mongodb-crypt versión a5.2.0 v.

    • Mac: Actualice su mongodb-crypt versión a5.2.0 v.

    • Linux: Instale libmongocrypt.so directamente en el sistema de archivos, en lugar de usar el archivo incluido en el archivo mongodb-crypt JAR. Puede encontrar instrucciones para instalar libmongocrypt en Linux en el manual del servidor. Si usa un gestor de paquetes para libmongocrypt instalar, Java Native Access (JNA) lo encontrará allí sin necesidad de configuración adicional. Como alternativa, puede especificar la ruta de búsqueda configurando la LD_LIBRARY_PATH variable de entorno con la ruta del archivo del libmongocrypt paquete.

      Recomendamos la instalación directa porque la biblioteca compartida incluida no se vincula con OpenSSL debido a la posibilidad de incompatibilidades binarias de OpenSSL.

      La carga de bibliotecas compartidas la gestiona JNA. Puede consultar las reglas para el orden de búsqueda de la carga de bibliotecas en la documentación de la clase NativeLibrary.

  • Se solucionó un problema que provocaba que los métodos InsertOneResult.getInsertedId() y InsertManyResult.getInsertedIds() devolvieran ID de documento incorrectos en algunas situaciones. Este cambio se ha implementado en los controladores de Scala v5.1.4 y v4.11.4.

  • Cuando una operación de clúster fragmentado no es exitosa, el controlador evita seleccionar el mismo servidor mongos para los intentos de reintento de la operación si hay otros servidores mongos disponibles.

  • Añade los metadatos de accesibilidad necesarios cuando la aplicación utiliza la imagen nativa de GraalVM. Estos metadatos eliminan la necesidad de recopilarlos al usar las bibliotecas de controladores. Para obtener más información, consulte Metadatos de Accesibilidad en la documentación de GraalVM.

    Este cambio no agrega las libjnidispatch libmongocrypt entradas de recursos y, ya que agregar entradas para todas las plataformas compatibles (destinos) afecta significativamente el tamaño de los ejecutables nativos generados con la imagen nativa de GraalVM. Consulte este archivo resource-config.json de ejemplo en el repositorio de GitHub del controlador para ver cómo especificar estas entradas explícitamente si su aplicación depende de la org.mongodb:mongodb-crypt biblioteca.

  • Permite la búsqueda de vectores exactos al extender la API VectorSearchOptions para introducir los siguientes subtipos de opciones específicas:

    • ExactVectorSearchOptions:Utilice este tipo de opciones para habilitar una coincidencia precisa, garantizando que los resultados sean los vectores más cercanos a un vector de consulta determinado.

    • ApproximateVectorSearchOptionsUtiliza este tipo de opción para habilitar búsquedas que podrían no devolver los vectores más cercanos exactos. Puedes enviar un parámetro numCandidates al instanciar este tipo para especificar la cantidad de vecinos más cercanos a considerar.

    Para obtener más información sobre el uso de la función de búsqueda vectorial de MongoDB, consulte el Inicio rápido de búsqueda vectorial de MongoDB y seleccione Scala desde el menú desplegable de idioma.

La versión del parche del controlador 5.1.3 incluye los siguientes cambios:

  • Corrige un problema que podría provocar errores de afirmación al utilizar tipos Cursor.

La versión del parche del controlador 5.1.1 incluye los siguientes cambios:

  • Al utilizar el mecanismo de autenticación MONGODB-OIDC, no debe incluir caracteres de coma en el valor de la cadena de conexión authMechanismProperties.

Importante

Fin de vida útil del servidor MongoDB v3.6

La compatibilidad con MongoDB Server v3.6 está obsoleta en esta versión y se eliminará en la versión v5.2 del controlador.

Para aprender sobre otros cambios introducidos en v5.1, consulte la guía Qué hay de nuevo en la documentación del Java Sync Driver.

Volver

Problemas y Ayuda

En esta página