问题标签 [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 投票
2 回答
389 浏览

mongodb - grails,mongodb - 多个数据库

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

0 投票
0 回答
793 浏览

mongodb - 带有 GORM MongoDB 插件的 Grails:org.grails.datastore.mapping.core.OptimisticLockingException

我有一个每隔几分钟就会运行一次的工作,一个新的域对象被实例化并填充来自 api 调用的数据,然后调用 .save() 以提交到数据库。

此应用程序使用 GORM Mongo 插件。

在将新的战争部署到测试箱后, org.grails.datastore.mapping.core.OptimisticLockingException每次作业开始时我都会收到并尝试处理文件,进行 api 调用,然后保存结果。日志 (&error) 指向 .save() 调用。

日志显示“正在解析文件内容”后引发错误

下面的堆栈跟踪可能是矫枉过正。

在尝试重新启动 tomcat、检查 mongo 连接等之后,我通过删除域对象 mongo 集合来解决此问题(我最近对域对象进行了一系列更改)。这个错误是否可能是由域对象的更改和 mongo/GORM 数据模型冲突引起的?如果是这样,我怎样才能避免将来需要删除集合?

我不相信其他东西可能正在访问同一个域集合,所以不要认为这是一个乐观的锁定异常,但如果是的话,我可以在 mongo 端运行哪些命令来查看哪些连接正在访问该集合?

0 投票
1 回答
682 浏览

mongodb - grails,mongodb gorm,空嵌入对象

我有这两个简单的域类:

和子域:

我希望构建一个包含嵌入属性的组合文档,我可以将其保存为仅在父级上运行 save() 操作,但它不起作用。

我尝试在 grails 控制台上运行:

脚本运行正确,但在数据库中我发现了这个。我希望找到填充有嵌套列表的设备规范属性:

0 投票
0 回答
172 浏览

mongodb - 使用 grails 中的夹具进行集成测试

在我的集成测试中,我有@Shared从固定装置(grails 的固定装置插件)加载的字段。这些字段是夹具 bean 的别名。看看我现在的代码!

令我惊讶的是它的工作原理。服务方法通过 GORM 请求找到 activeChild1。那么@Shared测试类中的对象是如何修改的呢?

为了解释更多,deactivateOrganization让组织的孩子使用Organization.findAllByParent(org). 其中org是传递给的参数deactivateOrganization。如果deactivateOrganization只修改从 GORM 调用返回的对象,那么@shared测试中的字段如何捕获更改?我没有刷新任何东西。

我在 Grails 2.3.11 上运行 mongoDB。

我正在尝试创建一个关于如何正确集成测试的标准。所以,我想知道使用夹具和集成测试的正确方法。

提前致谢;

0 投票
2 回答
480 浏览

mongodb - 如何在 grails 2.4.4 中使用 mongodb?

我一直在尝试将 mongodb 与 grails 一起使用。为此,在 BuildConfig.groovy 的插件部分中添加以下代码

然后我将 DataSource.groovy 更改为以下内容:

但它会导致编译错误如下:

你能告诉我如何解决这个错误吗?顺便说一句,我一直在关注的教程可以在下面的链接中找到:http: //blog.mongodb.org/post/18510469058/grails-in-the-land-of-mongodb

0 投票
2 回答
427 浏览

grails - Grails gorm mongodb 分块删除

如何使用gorm从MongoDB中删除文档? findAll由于 findAll 返回的文档数量巨大,然后删除将不起作用。它导致堆问题。

我希望使用域类发送本机 mongo db 命令。我不想将所有域对象提取到 JVM 堆中,然后迭代删除它们。相反,我想将删除的标准发送给 mongo,并让它处理删除。

关于使用低级查询批量删除的任何指针?或任何其他方式?

0 投票
1 回答
494 浏览

grails - 标准中的grails gorm mongodb`like`功能

是否支持在集合likerlike属性值中搜索字符串?
集合是否需要为此工作定义文本类型索引?不幸的是,我无法为该属性创建文本索引。有 1 亿个文档和文本索引杀死了性能(MongoDB 在单节点上)。
如果没有文本索引这是不可行的,那对我来说很好。我会寻找替代品。

给出以下集合:

在 grails 中,我创建了一个 Criteria 来返回一个文档列表,其中包含有效负载中的特定字符串

我也试过用rlike('payload' : ".*${searchString}.*")。它没有给我带来任何文档。

注意:当我在 Mongo shell 上触发本机查询时,我能够获取文档。

0 投票
0 回答
326 浏览

mongodb - 如何找到 mongo.options.connectionsPerHost 的最佳值

目前我正在使用 Grails,并且正在运行连接到单个 mongo 服务器的多个服务器。

不幸的是,当我运行 50 台服务器时,连接总数增加了 5k。经过一番研究,我发现这是 DataSource.groovy 中的一个简单配置

我确信我的程序不需要 100 个 mongo 连接。但我不确定我应该将其设置为什么值。

我有2个疑问。首先,如何确定connectionsPerHost 的最佳值。第二,这100个连接是否都是一次创建然后池化的?

0 投票
0 回答
136 浏览

grails - Grails:在 beforeInsert 中填充的字段不会被持久化,但如果由 beforeValidate 填充则持久化

我有一个X扩展AbstractDomain并有一个字段的类createdByUser。我AbstractDomain有:

createdByUser已填充但从未保存但如果我将字段更改为保存beforeInsertbeforeValidate这是什么原因造成的?

更新:

我正在使用mongodb:3.0.3插件。

0 投票
0 回答
130 浏览

mongodb - Grails MongoDB 嵌入式域对象保存

当试图保存一个由 Mongo 支持的 Grails 域对象时,我所有的嵌入对象也都save()调用了它们。在某些情况下,这会对性能造成巨大影响。

一些示例域对象如下。

现在假设我想在给定时间保存一棵树的状态。

这种动作似乎会导致嵌入实体,Bird并被Tree保存为值,但似乎也被保存以更新其关联的域模型。

有没有办法可以禁止更新这些引用并只将嵌入的字段保存在TreeState对象中?