我遇到一个问题,我需要手动将正确的数据库映射到域,而不是从连接参数中获取它。
我正在使用grails 3.2.8,插件“org.grails.plugins:mongodb:6.1.0”。我同时启用了休眠和mongodb插件。
我已将连接URL定义为
//application.yml
mongodb:
url: 'mongodb://${MONGODB_USERNAME}:${MONGODB_PASSWORD}@${MONGODB_REPLICA_SET}/${MONGODB_DATABASE}?${MONGODB_CONNECTION_OPTIONS}'
我的域对象定义为:
class ReportData {
String id
Long someField
static mapWith = "mongo"
static mapping = {
//database "db-name" DOESN'T WORK WHEN COMMENTING OUT THIS LINE
}
}
是否应该从连接URL自动神奇地拾取数据库(系统属性MONGODB_DATABASE)?我不确定这是否是错误或缺少某些配置方面。
最佳答案
我意识到我没有在build.gradle文件中添加以下内容:
bootRun {
systemProperties = System.properties
}
因此我的应用程序环境设置甚至无法正确应用,因此我的连接网址无效。
我在这里找到了细节:http://docs.grails.org/latest/guide/conf.html
关于mongodb - 没有从连接参数中获取正确的mongo数据库,而是必须手动对其进行映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43069981/