2015-07-02 5 views
0

Я только что обновил игру реактивировать от 0.10.5.0.AKKA23 до 0.11.0.play24. Однако я получил следующую ошибку с кодом, который компилируется до обновления.play reactivemongo error после обновления до 0.11.0

val gridFS = new GridFS(db) 
val file = gridFS.find(BSONDocument("filename" -> new BSONString(name))) 
serve(gridFS).map(_.withHeaders(CONTENT_DISPOSITION -> "inline;")) 

Сообщение об ошибке

[error] required: reactivemongo.api.gridfs.GridFS[play.modules.reactivemongo.json.JSONSerializationPack.type] 
[error] serve(gridFS).map(_.withHeaders(CONTENT_DISPOSITION -> "inline;" 

ответ

0

Новый плагин 0,11 обеспечивает ReactiveMongo API с JSONSerializationPack (что позволяет работать с JSON стоимостью в побережья до побережья подхода).

Таким образом serve действия в Play Монго контроллер работает с API GridFS, используя этот же JSON сериализации (и ожидать JsValue/JsObject но не BSONValue/BSONDocument).

Первым шагом является использование reactiveMongoApi.gridFS вместо new GridFS (учитывая, что reactiveMongoApi является экземпляром API, как указано в документации). Экземпляр GridFS правильно инициализирован для использования с JSON.

Затем селектор запросов должен быть обновлен от BSONDocument до Json.obj.

Пример можно найти в sample app.