Descargar Driver de MongoDB para Java

De ChuWiki


Tipos de drivers de MongoDB para Java[editar]

Antes de desacargar un driver de MongoDB para Java, debemos saber qué tipo de driver necesitamos, puesto que hay varios

  • mongodb-driver-syn: Este driver se utiliza cuando queremos una programación síncrona. Es decir, pedimos algo a MongoDB y nuestra llamada devuelve directamente los resultados. Es el driver que deberías coger si estás empezando a programar con Java y MongoDB.
  • mongodb-driver-reactivestreams. Este driver se utiliza cuando quremos una programación asíncrona. Es decir, pedimos algo a MongoDB y la llamada no devuelve ningún resultado inmediatamente. Obtendremos los resultados en un flujo separado, según vayan estando disponibles. Este driver es el que necesitaremos si estamos haciendo programación reactiva.

Estos dos drivers tiene una API y una sintaxis propia de MongoDB. Pero podemos también hay drivers de MongoDB para ver MongoDB, desde Java, como si fuera una base de datos SQL normal.

  • mongodb-jdbc: Este driver se utiliza para conectar Java con una base de datos MongoDB, pero usando las clases y métodos normales de bases de datos SQL con JDBC.
  • mongo-odbc-driver. Este driver se utiliza para "registrar" la base de datos MongoDB en el sistema Windows, de forma que las aplicaciones Windows puedan acceder a MongoDB como accederían a Microsoft Access y equivalentes.

Puesto que el más habitual para empezar es mongodb-driver-sync, el resto del artículo se refiere a este driver concreto.

Compatibilidad de versión del driver MongoDB[editar]

El siguiente punto que debemos decidir es qué versión del driver queremos. Esto depende de la version de MongoDB que tengamos instalada y de la versión de Java que vayamos a usar.

Compatiblidad del driver MongoDB con la versión de Java[editar]

La siguiente tabla muestra la compatibilidad del driver MongoDB con la versión de Java para mongodb-driver-sync.

Java Driver Version Java 17 Java 11 [1] Java 8 Java 7 Java 6 Java 5
4.10
4.9
4.8
4.7
4.6
4.5
4.4
4.3
4.2
4.1
4.0
3.12
3.11
3.10
3.9
3.8
3.4
3.3
3.2
3.1
3.0

Compatiblidad del driver MongoDB con la versión de MongoDB[editar]

y la siguiente tabla es la compatiblidad de mongodb-driver-sync con la base de datos MongoDB

Java Driver Version MongoDB 7.0 MongoDB 6.1 MongoDB 6.0 MongoDB 5.0 MongoDB 4.4 MongoDB 4.2 MongoDB 4.0 MongoDB 3.6 MongoDB 3.4 MongoDB 3.2 MongoDB 3.0 MongoDB 2.6
4.10
4.9
4.8
4.7
4.6
4.5
4.4
4.3
4.2
4.1
4.0
3.12
3.11
3.10
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.2
3.1
3.0

Estas tablas están extraíadas de mongodb-driver-sync compatibility

Download del driver MongoDB[editar]

Veamos opciones de cómo descargar el driver MongoDB para añadirlo a nuestro proyecto Java.

Descarga Manual del Driver de MongoDB para Java[editar]

La descarga manual de mongodb-driver-sync es bastante pesada. No por el driver en sí, sino por todas las dependencias adicionales que hay que descargarse. La versión 4.10.2 de mongodb-driver-sync necesita las librerías bson y mongodb-driver-core. Esta última a su vez necesita varias de la librería netty para conexión de sockets y así sucesivamente.

No he encontrado un sitio oficial donde haya un zip o un jar con todas las dependencias dentro. Por ello, es recomendable usar Maven o Gradle para asegurarnos de tener todas las dependencias necesarias

Descarga de mongodb-driver-sync con Maven[editar]

Para descargar mongodb-driver-sync en nuestro proyecto Java con Maven, basta poner la siguiente dependencia

<!-- https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-sync -->
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongodb-driver-sync</artifactId>
    <version>4.10.2</version>
</dependency>

Por supuesto, la versión debe ser la que necesite nuestro proyecto por compatibilidad con la versión de la base de datos de MongoDB y la versión de Java.

Descarga de mongodb-driver-sync con Gradle[editar]

Para descargar mongodb-driver-sync en nuestro proyecto Java con Gradle, basta poner la siguiente dependencia

// https://mvnrepository.com/artifact/org.mongodb/mongodb-driver-sync
implementation group: 'org.mongodb', name: 'mongodb-driver-sync', version: '4.10.2'

Y como antes, versión la que necesitemos.