Метод find в ReactiveMon go устарел. 0.20.3 - PullRequest
1 голос
/ 18 марта 2020

Я обновляю реактивный пн go "0.17.1-play26" до "0.20.3", но он дает много ошибок. Я обращаюсь к MongoDB, чтобы найти данные. Это дало мне вышеуказанную ошибку. plz help

Вот заявление, которое я даю

stdntcollection.find(query,Option(select)).cursor[studentDetails]().collect[List(-1,Cursor.FailOnError[List[studentDetails]]())` 

studentdetails - это класс case. которые имеют структуру типа

     case class studentDetails(
         roll: Option[String], 
         subjct: String    
     )

     object studentDetails {
         implicit val studentDetailsReads: Reads[studentDetails] = (
             (__ \ "roll").readNullable[String] and
             (__ \ "subjct").read[String])(studentDetails.apply _)

         implicit val studentDetailsWrites: Writes[studentDetails] = (
             (__ \ "roll").writeNullable[String] and
             (__ \ "subjct").write[String](unlift(studentDetails.unapply))
     }

Вот ошибка:

недостаточно аргументов для поиска метода: (неявный swriter: stdntcollection.pack.Writer [play.api.libs . json .JsObject], неявный пишущий инструмент: stdntcollection.pack.Writer [scala .collection.Map [String, Int]]) реактивныймон go .api.collections.GenericQueryBuilder [stdntcollection.pack.type]. Не указано значение параметров swriter, pwriter.

1 Ответ

0 голосов
/ 18 марта 2020

Я полагаю, что вы используете коллекцию с JSON, и что для select отсутствуют пропуски, которые вы передаете в качестве второго аргумента проекции. Как указано в документации :

import reactivemongo.play.json._

Примечание № 1: Рекомендуемое наименование класса дел не соблюдается studentDetails

Примечание # 2: JSONCollection, вероятно, будет удалено из выпуска 1.0 с более простым JSON, поддерживаемым новыми преобразованиями.

...