ReactiveMongo、Mongo-Module 和 MongoHelper 之间的区别

Difference between ReactiveMongo , Mongo-Module and MongoHelper

MongoPlay-Framework 对我来说是新的。我有 Spring-Framework 背景,我们在其中创建 Controller, Business and DAO 层结构应用程序。现在,我想和ReactiveMongo一起尝尝Play-Framework的滋味。为了创建我们的示例应用程序,我的第一个目标是遵循 Controller, Business and DAO 层结构。 Play-Framework 已经提供了应用程序的基本结构,真不错。如果我们将 Mongodb 与 Play-Framework 一起使用,我发现了三种类型的 MongoDB 驱动程序。这些如下:

  1. Mongo 模块 (https://www.playframework.com/modules/mongo-1.1/home)
  2. Mongo助手 (https://gist.github.com/harmeetsingh0013/fdc9c20b056a62f303f5)
  3. 被动Mongo(http://reactivemongo.org/)

ReactiveMongo,这对于实现非阻塞来说真的很棒I/O。在反应式 mongo 中,同步来自多个查询的数据存在一些问题。我对创建示例应用程序有一些疑问,如下所示:

  1. 我的第一个目标是使用 ReactiveMongo 实现 MVC,我认为 ReactiveMongo-Extension 为我提供了 Dao 层。但我还是想确认一下,ReactiveMongo-Extension 是个好方法吗?或者我需要去MongoHelperMongo-Module 相对于反应式 mongo 有什么好处?
  2. 对于依赖注入,我们需要 Spring-Dependency Injection 或 Guice 或其他 Scala Dependency Injection Framework ?
  3. 如果我选择 ReactiveMongo,我们需要选择 JSONCollection,因为 BSONCollection 是 MongoDB 依赖项。 JSONCollection 的支持是什么?

playframework.com 上的当前模块存储库仅供 Play 1.x 使用。所以 Mongo 模块不适合你。

我是 ReactiveMongo-Extensions 的作者,它的灵感来自 MongoHelper。你可以使用你想要的。如果你选择 ReactiveMongo-Extensions JsonDao 是你的朋友。还有一个示例应用程序,您可以查看:https://github.com/mertkavi/play-reactivemongo-extensions-sample

顺便说一句,我目前正在从头开发一个更新的驱动程序。您也可以尝试一下:https://github.com/fehmicansaglam/tepkin