0

我的 application.groovy 设置为:

environments {
    development {
        mongo {
            host = 'localhost'
            port = 27107
            username = dbusername
            password = dbpassword
            databaseName = dbname
        }
        dataSources {
            dataSource {
                pooled = true
                jmxExport = true
                driverClassName = 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
                dbCreate = ''
                username = dbusername
                password = dbpassword
                url = 'jdbc:sqlserver://${dbserver}:${dbport};databaseName=${dbname}'
            }
        }
    }
}

但现在似乎我所有域的数据源都指向 mongodb,因此我无法再查询链接到 mssql db 的域。我怎样才能避免这种情况?

第二个问题虽然不是那么重要:mongodb 插件文档说要将连接配置放在环境中-> 开发中-我想知道为什么我们不能将它放在 dataSources 中,所以它更整洁(在域中我可以指向 dataSource) . 我试图在 dataSources 中移动配置,但没有成功!

在调试器中,如果我运行 MyDomain.list() 并且我得到

result = {MongoQuery$MongoResultList@12334} size = 0

任何帮助将不胜感激,在此先感谢 Dee

4

1 回答 1

0

我试图使用“mongodb”插件,我不确定 grails 3 是否支持它。我有一些使用 gmongo 的东西。我通过 build.gradle 添加了这两个依赖项:

compile "org.mongodb:mongo-java-driver:3.0.2"
compile "com.gmongo:gmongo:1.5"

并删除了 mongo 配置。

environments {
    development {
        mongo {
            host = 'localhost'
            port = 27107
            username = dbusername
            password = dbpassword
            databaseName = dbname
        }
      ....
   }
}

gmongo 似乎采用默认数据库凭据。这就是我创建数据库实例来解决它的方式:

 def mongo = new GMongo()
 def db = mongo.getDB("dnName")

希望这可以帮助面临类似问题的人。

于 2015-06-29T13:02:00.050 回答