Java MongoClient - `NoClassDefFoundException` при вызове` aggregate` для коллекции - PullRequest
0 голосов
/ 28 февраля 2019

Я использую драйвер mongodb версии 3.10.1 для своего проекта и столкнулся со следующей ошибкой.У меня есть следующий запрос:

mongodbclient.getDatabase("test").getCollection("testColl")
                .aggregate(Arrays.asList(Filters.eq("_id","theID")));

Этот запрос вызывает исключение:

NoClassDefFound for com/mongodb/client/AggregationLevel

Тот же запрос на mongoshell к базе данных возвращает правильный результат,Даже если я передаю пустой список в агрегат, я получаю то же исключение.Это ошибка в драйвере mongodb или я что-то здесь пропускаю?

1 Ответ

0 голосов
/ 28 февраля 2019

Проблема в том, что зависимость по умолчанию для mongodb, предоставляемая mongodb:

<dependency>
   <groupId>org.mongodb</groupId>
   <artifactId>mongodb-driver-sync</artifactId>
    <version>3.10.1</version>
 </dependency>

Не содержит необходимой зависимости для ядра mongodb:

<dependency>
   <groupId>org.mongodb</groupId>
   <artifactId>mongodb-driver-core</artifactId>
   <version>3.10.1</version>
</dependency>

и BSON:

<dependency>
  <groupId>org.mongodb</groupId>
  <artifactId>bson</artifactId>
  <version>3.10.1</version>
</dependency>

После их добавления работает метод aggregate.Грустно, но верно.

...