Я пытаюсь использовать запрос couchbase async bucket n1ql следующим образом:
У меня есть пример этого некомпилируемого кода ниже, который вы можете запустить: (обратите внимание, я должен использовать scala: 2.11.7)
https://scastie.scala -lang.org / nkWOuCOrRbKbzieEK2D8yA
couchbaseBucket.async().query(N1qlQuery.simple(s"SELECT META(${couchbaseBucket.name()}).id FROM diy WHERE META(${couchbaseBucket.name()}).id LIKE MyKeysPrefix%;"))
.flatMap(_.rows()) // missing parameter type for expanded function ((x$12) => x$12.rows())
.map(result => result.asInstanceOf[AsyncN1qlQueryRow].value().toMap)
.toList
.timeout(10, TimeUnit.SECONDS)
.toBlocking
.single()
Я получаю в строке: .flatMap(_.rows())
отсутствует тип параметра для расширенной функции ((x $ 12) => x $ 12.rows ())
Я попытался обновить его до:
.flatMap(rows => rows.rows())
Затем я получаю:
пропущенный тип параметра
Поэтому я попытался обновить до:
.flatMap((rows: AsyncN1qlQueryResult) => rows.rows())
Тогда я получаю:
перегруженное значение метода flatMap с альтернативами:
overloaded method value flatMap with alternatives:
[error] [U, R](x$1: rx.functions.Func1[_ >: com.couchbase.client.java.query.AsyncN1qlQueryResult, _ <: rx.Observable[_ <: U]], x$2: rx.functions.Func2[_ >: com.couchbase.client.java.query.AsyncN1qlQueryResult, _ >: U, _ <: R], x$3: Int)rx.Observable[R] <and>
[error] [U, R](x$1: rx.functions.Func1[_ >: com.couchbase.client.java.query.AsyncN1qlQueryResult, _ <: rx.Observable[_ <: U]], x$2: rx.functions.Func2[_ >: com.couchbase.client.java.query.AsyncN1qlQueryResult, _ >: U, _ <: R])rx.Observable[R] <and>
[error] [R](x$1: rx.functions.Func1[_ >: com.couchbase.client.java.query.AsyncN1qlQueryResult, _ <: rx.Observable[_ <: R]], x$2: rx.functions.Func1[_ >: Throwable, _ <: rx.Observable[_ <: R]], x$3: rx.functions.Func0[_ <: rx.Observable[_ <: R]], x$4: Int)rx.Observable[R] <and>
[error] [R](x$1: rx.functions.Func1[_ >: com.couchbase.client.java.query.AsyncN1qlQueryResult, _ <: rx.Observable[_ <: R]], x$2: rx.functions.Func1[_ >: Throwable, _ <: rx.Observable[_ <: R]], x$3: rx.functions.Func0[_ <: rx.Observable[_ <: R]])rx.Observable[R] <and>
[error] [R](x$1: rx.functions.Func1[_ >: com.couchbase.client.java.query.AsyncN1qlQueryResult, _ <: rx.Observable[_ <: R]], x$2: Int)rx.Observable[R] <and>
[error] [R](x$1: rx.functions.Func1[_ >: com.couchbase.client.java.query.AsyncN1qlQueryResult, _ <: rx.Observable[_ <: R]])rx.Observable[R]
[error] cannot be applied to (com.couchbase.client.java.query.AsyncN1qlQueryResult => rx.Observable[com.couchbase.client.java.query.AsyncN1qlQueryRow])
[error] .flatMap((rows: AsyncN1qlQueryResult) => rows.rows())
[error] ^
[error] one error found
В этот момент я был поражен этой ошибкой, и я понятия не имею, как ее исправить... Как мне это исправить?