Play Framework 2.5如何添加mongoDB?

Kwi*_* FR 2 java mongodb playframework-2.0

我想在Play Framework 2.5应用程序中添加MongoDB.
我们可以看到这个模块在这里,PF的文档.
如何在我的应用程序中添加此模块?
@MongoEntity非常有用,但它是为1.*PF应用程序编写的.

有一个2.5 PF的MongoDB模块?
我尝试过的另一件事:为2.*添加play-mongo模块(通过louth)但在我的build.sbt中添加它们是不可能的: image.

小智 6

你是Scala还是Java?

对于Scala,请查看ReactMongo

对于Java,我也没有遇到任何插件,所以我开始使用Morphia.这是我配置它的方式

将此添加到build.sbt

    "org.mongodb.morphia" % "morphia" % "1.2.1",
Run Code Online (Sandbox Code Playgroud)

这到application.conf

    mongodb {
      host="localhost"
      port=27017
      database="my_db"
    }
Run Code Online (Sandbox Code Playgroud)

现在,您必须创建一个Singleton类,类似于

public class MongoConfig {

    private static Datastore datastore;

    public static Datastore datastore() {
        if (datastore == null) {
            initDatastore();
        }
        return datastore;
    }

    public static void initDatastore() {

        final Morphia morphia = new Morphia();

        // Tell Morphia where to find our models
        morphia.mapPackage("models");

        MongoClient mongoClient = new MongoClient(
            ConfigFactory.load().getString("mongodb.host"),
            ConfigFactory.load().getInt("mongodb.port"));

        datastore = morphia.createDatastore(
            mongoClient, ConfigFactory.load().getString("mongodb.database"));
    }

}
Run Code Online (Sandbox Code Playgroud)

样本模型

@Entity(value = "users", noClassnameStored = true)
public class User {

    public String name;

    public void save() {
        datastore().save(this);
    }

    public User query() {
        return datastore()
            .createQuery(User.class)
            .get();   
    }

}
Run Code Online (Sandbox Code Playgroud)

这应该适合你.如果我错过任何事情,请告诉我.祝好运!:)