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

时间:2015-03-31 08:04:50

标签: mongodb scala playframework-2.3 reactivemongo play-reactivemongo

带有Mongo

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

  1. Mongo模块(https://www.playframework.com/modules/mongo-1.1/home
  2. MongoHelper(https://gist.github.com/harmeetsingh0013/fdc9c20b056a62f303f5
  3. ReactiveMongo(http://reactivemongo.org/
  4. 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可用的支持是什么?

1 个答案:

答案 0 :(得分:1)

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

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

BTW我正在从头开发一个新的驱动程序。您也可以尝试一下:https://github.com/fehmicansaglam/tepkin