Драйвер Reactivemon go - ошибка компиляции bulkDelete - PullRequest
0 голосов
/ 30 марта 2020

Мы используем Scala 2.11 и Reactivemon go 0.18, я пытаюсь удалить все пользовательские документы из всей коллекции следующим способом. Это упрощенная версия метода, взятая из Reactivemon go tutorial , и есть одно отличие: мы используем 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...