0

MongoPlay-Framework對我來說是新的。我有Spring-Framework背景,我們在其中創建Controller, Business and DAO圖層結構應用程序。現在,我想用ReactiveMongo來品嚐Play-Framework的味道。爲了創建我們的示例應用程序,我的第一個目標是遵循Controller, Business and DAO圖層結構。 Play-Framework已經提供了應用程序的基本結構,這是非常好的。如果我們使用Mongodb和Play-Framework,我發現了三種類型的MongoDB驅動程序。這些情況如下:ReactiveMongo,Mongo-Module和MongoHelper之間的差異

  1. 蒙戈模塊(https://www.playframework.com/modules/mongo-1.1/home
  2. MongoHelper(https://gist.github.com/harmeetsingh0013/fdc9c20b056a62f303f5
  3. ReactiveMongo(http://reactivemongo.org/

ReactiveMongo,這是用於實現真正真棒非阻塞I/O 。在反應式mongo中,同步來自多個查詢的數據會有一些問題。我有如下創建示例應用程序的一些查詢:

  1. 我的第一個目標是使用ReactiveMongo,我認爲ReactiveMongo-Extension我提供Dao層來實現MVC。但我仍然想確認,ReactiveMongo-Extension是一個很好的方法?或者我需要去MongoHelperMongo-Module對反應性芒果有什麼好處?
  2. 對於依賴注入,我們需要去尋找Spring-Dependency Injection或者guice或者其他Scala Dependency Injection Framework
  3. 如果我去了ReactiveMongo,我們需要去JSONCollection,因爲BSONCollection是MongoDB依賴項。什麼是JSONCollection可用的支持?
+0

BSONCollection來自ReactiveMongo BSON lib。即使您選擇按照設計進行JSON數據交換,BSONCollection也會在那裏(在RM的核心)。 – cchantep 2015-03-31 08:35:25

+1

請注意,ReactiveMongo 0.11即將發佈,支持新的ReactiveStreams(爲Iteratee和AkkaStreams提供實現),客戶端SSL和其他功能。 – cchantep 2015-04-01 08:45:39

+0

感謝@cchantep的信息。 – 2015-04-01 09:33:53

回答

1

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

+0

謝謝@fcs,這意味着DAO層'ReactiveMongo-Extensions'是不錯的選擇。但事情是,'ReactiveMongo-Extensions'是'ReactiveMongo'驅動程序的一部分?你正在研究新的驅動程序,「ReactiveMongo」和「Tepkin」有什麼區別? – 2015-04-01 07:45:32

+0

ReactiveMongo和Tepkin分享了很多想法。但主要區別在於ReactiveMongo使用Iteratees,Tepkin構建在Akka Streams上。 Akka Streams將在即將到來的Play版本中默認使用。 – fcs 2015-04-01 07:52:56

+0

這很好。感謝您的大力支持。主要的挑戰是,對ReactiveMongo-Extensions或Tepkin有什麼支持。我真的很喜歡我的前輩推動這項技術? – 2015-04-01 07:58:40

相關問題