问题标签 [gorm-mongodb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2424 浏览

grails - 一个组件需要一个名为“dataSource_dbCreate”的 bean,但无法找到

我在 grails、groovy 上构建 Web 应用程序,它与 3 DB 的 MySql、Oracle(暂时指向 H2)、Mongo 进行交互。为了创建数据源,我配置了以下属性


应用程序.yml

数据源:

当我建立这个得到以下错误

0 投票
1 回答
2569 浏览

mongodb - 如何在没有 _id 的情况下创建 mongodb 集合

我的项目是在 GMONGO 框架上构建的,所有域都是使用属性 id 作为字符串创建的。所以当应用程序是应用程序时,grail 框架将创建具有 _id 属性的 mongodb 集合。在 UI 中检索 _id 存在限制。因此在服务中“_id”被重写为“id”以克服该问题。我们可以默认使用“id”而不是“_id”创建集合吗?

0 投票
1 回答
342 浏览

grails - 抽象域类和 tablePerHierarchy

在我的 Grails 3.2.6 应用程序中,我有 2 个类:

保存 Child 的实例后,将被转储到“base”集合(带有_class = Child字段)而不是“child”中。

如何使其正常工作?

更新

我将其定义Basetraitunder src/main/groovy

然后它工作正常。

0 投票
0 回答
192 浏览

grails - 无法使用 gorm 在 mongodb 中保存嵌入对象(类型不匹配错误)

我正在尝试使用 gorm 和 mongodb 插件创建和保存域对象,但我总是在嵌入式属性(“emailTemplates”)上遇到类型不匹配错误。

我的域定义为:

我的 POST 有效负载 json 是:

现在我确实有一个解决方法,我覆盖控制器上的“保存”方法(它扩展了 RestfulController)并手动实例化域对象,但我宁愿让默认的“RestfulController”工作。

我正在使用 mongodb 插件版本 6.1.0,mongodb-driver:3.4.2,我的 grails 版本是 3.2.8

0 投票
0 回答
97 浏览

mongodb - Grails Gorm-MongoDB 插件中是否有 GMongo 的替代品?

我正在处理一个非常大的代码库,它大量使用 GMongo 库来简化对 mongo 数据库的访问。据我了解,从 GORM for MongoDB 5.0 开始,gmongo 已被删除。

我现在需要将我的 mongo java 驱动程序升级到 3.4.2。这需要我将 GORM for MongoDB 升级到 5.0。我很快意识到,如果没有 GMongo 的替代品,我正在努力从我们的整个代码库(由 10 个应用程序和 20 多个插件组成)中删除 gmongo 的使用。有谁知道我如何在不完全删除我的代码库中使用 GMongo 语法的情况下解决这个问题?

0 投票
1 回答
96 浏览

grails - Grails v3.1.4 为mongodb连接指定加密密码

如何在用于连接 MongoDB 之前解密密码?原因是我不需要在配置中指定纯文本密码。

0 投票
0 回答
46 浏览

mongodb - Grails 3 和 Mongo 的关系域映射

试图弄清楚是否有一种方法可以以与连接到 Oracle 数据库时类似的方式关联这两个域对象。

gradle.properties

构建.gradle

域对象:

我想做这样的事情:

在上面的例子中,只有 SellerId 被持久化到 Mongo,因为它没有被标记为embedded。如果我在 grails 代码中引用它,这将非常有用 - 为我在store.seller. 但是,如果我store从控制器返回 a ,store.seller则不会完全通过。store 的响应 JSON 如下所示(注意卖家只有 id 属性):

我也尝试过这样的事情,但 afterLoad 永远不会被击中:

有没有更好的方法来做到这一点?

0 投票
1 回答
46 浏览

mongodb - 尝试使用 Grails 2.3.7 查询 MongoDB 域类时出现 IllegalStateException

我正在开发一个使用 Grails 2.3.7(使用 Maven)和 Java 7 的遗留项目,我必须添加到 MongoDB 数据库的连接,同时保留现有的 Hibernate 数据库。

我已将以下内容添加到我的pom.xml文件中:

这对BuildConfig.groovy文件:

(我已经尝试过使用和不使用compile 'org.grails.plugins:mongodb:3.0.2'行)

DataSource.groovy文件中,我配置了 db 连接,如下所示:

并且连接本身似乎正在工作,因为如果我更改其中的任何值,Grails 应用程序甚至都不会启动。

然后我创建了一个简单的 Domain 类Thingy.groovy

现在,当我启动应用程序时,对该类的任何方法的调用都会引发 IllegalStateException: "Method on class [Thingy] was used outside of a Grails application. If running in the context of a test using the mocking API or bootstrap Grails correctly."。但是,如果我在同一个地方调用使用其他数据源的旧 Domain 类的任何方法,它们的工作就像一个魅力。

此外,在启动服务器时,我得到另一个异常,我猜这可能是相关的,但我也不确定如何处理它:ERROR - Error configuring dynamic methods for plugin [mongodb:3.0.2]: org/grails/datastore/mapping/query/api/BuildableCriteria java.lang.NoClassDefFoundError: org/grails/datastore/mapping/query/api/BuildableCriteria.

我也尝试过使用 MongoDB 插件 3.0.3,但结果相同。

0 投票
0 回答
71 浏览

grails - 如何在 grail 3.x 中挂钩 gorminstance api

如何在 grail 3.x、gorm 6.x 中挂钩自定义 gorminstance api

下面的链接不起作用。

http://www.tothenew.com/blog/hooking-into-the-instance-methods-of-the-gorm-api/

gorm 装饰器 groovy.lang.MissingMethodException:没有方法签名:com.test.domain.UserInbox.currentGormInstanceApi() 适用于参数类型:() 值:[]

0 投票
2 回答
181 浏览

grails - Grails MongoDB 脏检查在 Spring Security 中失败

我将 Grails 3.3.2 与 mongoDB 插件 (v6.1.4) 和 Spring Security Core 插件 (v3.2.0) 一起使用。

我有UserPasswordEncoderListener以下persistenceEvent方法:

问题是hasChanged每次我保存一个没有更新的用户对象时调用总是返回true,导致已经编码的密码被重新编码,从而破坏了身份验证。

一种解决方法是使用旧方法,只需从数据库中检索原始密码并在编码之前进行比较,但我想知道为什么hasChanged错误地返回 true。

hasChanged通过在 groovy 控制台中运行以下命令测试了它在其他地方的行为是否正确:

结果是Result: false。为什么它在持久性侦听器类中不起作用?

仅供参考:我在 resources.groovy 中定义了以下 bean: