Reactive-Mongo是一个基于Scala编写的异步非阻塞MongoDB驱动,该项目同时提供了Play框架的集成插件Play-ReactiveMongo。 本文将基于Play-ReactiveMongo插件介绍MongoDB的开发技巧。 2.1 配置Play-ReactiveMongo插件 打开Play项目,修改build.sbt添加Play-ReactiveMongo依赖: libraryDependencies ++= Seq( "org.reactivemongo" %% "play2-reactivemongo" % "0.11.14" ) 修改application.conf,添加如下内容: # 启用ReactiveMongoModule //导入BSON-JSON conversions/collection import reactivemongo.play.json._ import reactivemongo.play.json.collection
目前除了 Play Mongo,你还可以选择, Mongo Scala Driver ReactiveMongo Mongo Scala Driver 是 MongoDB 官方维护的 Scala 驱动, ReactiveMongo 是 Play Framework 团队成员私下维护的项目,似乎并没有得到官方的支持。 ReactiveMongo 主要有三个问题,一是版本更新不够及时,无法跟上 MongoDB 的更新节奏;二是可能存在安全隐患,容易造成生产事故,详情参考:issue#721。
ReactiveMongo是一个基于Scala开发的完全异步非阻塞、并且提供流处理功能的MongoDB驱动。 结合Play和ReactiveMongo二者的流处理功能,我们可以很方便地实现完全异步非阻塞的报表导出功能。 实现 由于ReactiveMongo暂时还没有提供Akka Streams的流处理实现,所以无法直接通过map/flatMap直接返回一个Stream写回响应: @Singleton class TestStreamController
目前有如下三个基于 Scala 开发的 MongoDB 驱动可供选择: Mongo Scala Driver ReactiveMongo Play Mongo Mongo Scala ReactiveMongo 是 Play Framework 团队成员私下维护的项目,似乎并没有得到官方的支持。 ReactiveMongo 主要有三个问题,一是版本更新不够及时,无法跟上 MongoDB 的更新节奏;二是可能存在安全隐患,容易造成生产事故,详情参考:issue#721。
另外还有一些基于JSON库的第三方模块,例如Play-ReactiveMongo,利用该模块将Play和MongoDB完美结合,开发出高性能的异步非阻塞系统。
catch { case t: Throwable => Logger.error("Tail oplog Error: " + t.getMessage, t) } } 另外提醒大家注意,ReactiveMongo-Streaming
0 Ful Sca Akk Non Lin Rea 75 restexpress 112,325 20.0% 0 Mcr Jav Nty Non Lin Rea 76 play2-scala-reactivemongo