【问题标题】:Play Framework 2.5 how to add mongoDB?Play Framework 2.5如何添加mongoDB?
【发布时间】:2016-11-02 10:11:19
【问题描述】:

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

有 2.5 PF 的 MongoDB 模块吗?
我尝试过的另一件事是:为 2.* 添加 play-mongo 模块(由 louth 编写)但在我的 build.sbt 中无法添加它们: image

【问题讨论】:

    标签: java mongodb playframework-2.0


    【解决方案1】:

    您使用的是 Scala 还是 Java?

    对于 Scala,请查看 ReactMongo

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

    将此添加到 build.sbt

        "org.mongodb.morphia" % "morphia" % "1.2.1",
    

    这个到 application.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();   
        }
    
    }
    

    这应该适合你。如果我错过了什么,请告诉我。祝你好运! :)

    【讨论】:

    • 我使用 jongo 并制作了我的自定义 mongoModel ;) 我忘记编辑我的 build.sbt 了! xD
    猜你喜欢
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多