Драйвер Reactivemongo - ошибка компиляции bulkDelete

Мы используем Scala 2.11 и Reactivemongo 0.18, я пытаюсь удалить все пользовательские документы из всей коллекции следующим методом. Это упрощенная версия метода, взятого из учебника Reactivemongo, и есть одно отличие: мы используем JSONCollection вместо BSONCollection:

private def deleteCollections(userId: String, collectionName: String): Future[Either[Exception, Unit]] = {
    val deleteBuilderF = reactiveMongoDriver.db.map(_.collection[JSONCollection](collectionName)).map(_.delete(ordered = false))
    val errorMessage = s"Error while deleting collection name=$collectionName"
    deleteBuilderF.flatMap(deleteBuilder => {
      val deletes = Future.sequence(Seq(
        deleteBuilder.element(
          q = idSelector(userId)
        )))
      deletes.flatMap(ops => deleteBuilder.many(ops))
    })
      .map(_ => Right(()))
  }

и это дает мне следующую ошибку компиляции:

[error] /projects/xxxxxxxxxxxxMongo.scala:62: type mismatch;
[error]  found   : Seq[_1.DeleteCommand.DeleteElement]
[error]  required: Iterable[_2.DeleteCommand.DeleteElement] where val _2: reactivemongo.play.json.collection.JSONCollection
[error]       deletes.flatMap(ops => deleteBuilder.many(ops))

Что означает эта ошибка компиляции и как ее исправить? Меня смущает_1 а также _2 заполнители.

0 ответов

Другие вопросы по тегам