我想在Play Framework 2.5应用程序中添加MongoDB。
我们可以在PF的文档中看到这个模块here
如何在我的应用程序中添加此模块?
@MongoEntity非常有用,但它是为1. * PF app写的。
有2.5 PF的MongoDB模块?
还有一件事我试过:添加play-mongo模块(通过louth)为2. *但是在我的build.sbt中添加它们是不可能的:
image。
答案 0 :(得分:6)
您是使用Scala还是Java?
对于Scala,请查看ReactMongo
对于Java,我也没遇到任何插件,所以我开始使用Morphia。这是我配置它的方式
将此添加到build.sbt
"org.mongodb.morphia" % "morphia" % "1.2.1",
这是app.conf
mongodb {
host="localhost"
port=27017
database="my_db"
}
现在,您必须创建一个类似
的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"));
}
}
样本模型
@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();
}
}
这对你有用。如果我错过任何事情,请告诉我。祝好运! :)