grails,mongodb - 多个数据库

Posted

技术标签:

【中文标题】grails,mongodb - 多个数据库【英文标题】:grails, mongodb - multiple dbs 【发布时间】:2015-01-11 15:28:54 【问题描述】:

是否可以在 grails 中以这种方式创建应用程序: 用户使用密码登录并登录到应用程序(使用 spring security 和 postgredb 进行身份验证),然后应用程序将 url 获取到 mongodb 数据库(每个用户一个),然后我将应用程序配置为使用此数据库(使用工作 mongo 映射域类)

【问题讨论】:

【参考方案1】:

如果我没记错的话,您是在询问将数据保存在两个数据存储(Mongodb 和 Postgredb)中的可能性。在 Postgredb 中,您希望将 Spring Security 身份验证数据和其他应用程序数据存储在 Mongodb 中。是的,这是可能的。我目前的项目有类似的要求,我们正在使用 mysql 和 MongoDb。

【讨论】:

'恐怕我另有想法。我知道可以连接到两个数据库(PostgresSQL 和 Mongo),但我想制作 synamic mongodb。它应该如下所示:用户使用 SS 和 PostgreSQL 登录应用程序。如果用户已通过身份验证,我将在 mongo 中获取他的数据库的 url,然后我正在为该用户使用此连接。 (重点是,单机只有一个mongo数据库)【参考方案2】:

是的,您可以在 dataSource.groovy 中使用以下代码行同时使用 Mongo 和 postgre

development 
    grails 
        mongo 
            host = "localhost"
            username = ""
            password = ""
            databaseName = "schema_name"
        
    

    dataSource_lookup 
        dialect = 'org.hibernate.dialect.PostgreSQLDialect'
        pooled = true
        driverClassName = 'org.postgresql.Driver'
        username = "postgres"
        password = "admin"
        dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
        url = "jdbc:postgresql://localhost:5432/schama_name?prepareThreshold=5&socketTimeout=5400"
    

【讨论】:

恐怕我另有想法。我知道可以连接到两个数据库(PostgresSQL 和 Mongo),但我想制作 synamic mongodb。它应该如下所示:用户使用 SS 和 PostgreSQL 登录应用程序。如果用户已通过身份验证,我将在 mongo 中获取他的数据库的 url,然后我正在为该用户使用此连接。 (重点是,单机只有一个mongo数据库)

以上是关于grails,mongodb - 多个数据库的主要内容,如果未能解决你的问题,请参考以下文章

Grails投影忽略MongoDB的排序顺序

Grails MongoDB 插件:嵌入式集合与引用

在 Grails 3.x 中安装和使用 MongoDB

Grails spring security core 3.1.2 和 mongodb

mongoDB 作为 Grails 应用程序的文件存储

Grails GORM MongoDB。父模型类的问题