mongodb - 没有从连接参数中获取正确的mongo数据库,而是必须手动对其进行映射

标签 mongodb grails gorm

我遇到一个问题,我需要手动将正确的数据库映射到域,而不是从连接参数中获取它。
我正在使用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/

相关文章:

grails - 使用 POST 请求重定向

grails - 我如何知道自检索以来Grails域POJO是否已更改?

hibernate - 我应该在Grails项目中的哪里写标准查询?在服务层还是在域模型中?

grails - 在Grails中实现后台服务的最佳方法

grails - 第一次使用FindAllBy延迟获取对象

mongodb - Node.js + MongoDB this._handle.write(data) 在 net.js 中的窃听

mongodb - 如何根据其他文档属性检索动态属性?

grails - Liferay Portlet 错误 - "NoSuchResourceActionException <Portlet>_WAR_<PortletApp>#VIEW"

javascript - 为什么我会收到 createIndex 弃用错误?

mongodb - 如何获取聚合的前 n 个存储桶,以及将所有其他存储桶组合成 "other"存储桶?