问题标签 [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.
mongodb - grails,mongodb - 多个数据库
是否可以在 grails 中以这种方式创建 aapliaction:用户使用密码登录并登录到 apliaction(使用 spring security 和 postgredb 进行身份验证),然后 aplication 将 url 获取到 mongodb 数据库(每个用户一个),然后我配置要使用的应用程序这个数据库(带有工作的 mongo 映射域类)
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 端运行哪些命令来查看哪些连接正在访问该集合?
mongodb - grails,mongodb gorm,空嵌入对象
我有这两个简单的域类:
和子域:
我希望构建一个包含嵌入属性的组合文档,我可以将其保存为仅在父级上运行 save() 操作,但它不起作用。
我尝试在 grails 控制台上运行:
脚本运行正确,但在数据库中我发现了这个。我希望找到填充有嵌套列表的设备规范属性:
mongodb - 使用 grails 中的夹具进行集成测试
在我的集成测试中,我有@Shared
从固定装置(grails 的固定装置插件)加载的字段。这些字段是夹具 bean 的别名。看看我现在的代码!
令我惊讶的是它的工作原理。服务方法通过 GORM 请求找到 activeChild1。那么@Shared
测试类中的对象是如何修改的呢?
为了解释更多,deactivateOrganization
让组织的孩子使用Organization.findAllByParent(org)
. 其中org
是传递给的参数deactivateOrganization
。如果deactivateOrganization
只修改从 GORM 调用返回的对象,那么@shared
测试中的字段如何捕获更改?我没有刷新任何东西。
我在 Grails 2.3.11 上运行 mongoDB。
我正在尝试创建一个关于如何正确集成测试的标准。所以,我想知道使用夹具和集成测试的正确方法。
提前致谢;
mongodb - 如何在 grails 2.4.4 中使用 mongodb?
我一直在尝试将 mongodb 与 grails 一起使用。为此,在 BuildConfig.groovy 的插件部分中添加以下代码
然后我将 DataSource.groovy 更改为以下内容:
但它会导致编译错误如下:
你能告诉我如何解决这个错误吗?顺便说一句,我一直在关注的教程可以在下面的链接中找到:http: //blog.mongodb.org/post/18510469058/grails-in-the-land-of-mongodb
grails - Grails gorm mongodb 分块删除
如何使用gorm从MongoDB中删除文档?
findAll
由于 findAll 返回的文档数量巨大,然后删除将不起作用。它导致堆问题。
我希望使用域类发送本机 mongo db 命令。我不想将所有域对象提取到 JVM 堆中,然后迭代删除它们。相反,我想将删除的标准发送给 mongo,并让它处理删除。
关于使用低级查询批量删除的任何指针?或任何其他方式?
grails - 标准中的grails gorm mongodb`like`功能
是否支持在集合like
的rlike
属性值中搜索字符串?
集合是否需要为此工作定义文本类型索引?不幸的是,我无法为该属性创建文本索引。有 1 亿个文档和文本索引杀死了性能(MongoDB 在单节点上)。
如果没有文本索引这是不可行的,那对我来说很好。我会寻找替代品。
给出以下集合:
在 grails 中,我创建了一个 Criteria 来返回一个文档列表,其中包含有效负载中的特定字符串
我也试过用rlike('payload' : ".*${searchString}.*")
。它没有给我带来任何文档。
注意:当我在 Mongo shell 上触发本机查询时,我能够获取文档。
mongodb - 如何找到 mongo.options.connectionsPerHost 的最佳值
目前我正在使用 Grails,并且正在运行连接到单个 mongo 服务器的多个服务器。
不幸的是,当我运行 50 台服务器时,连接总数增加了 5k。经过一番研究,我发现这是 DataSource.groovy 中的一个简单配置
我确信我的程序不需要 100 个 mongo 连接。但我不确定我应该将其设置为什么值。
我有2个疑问。首先,如何确定connectionsPerHost 的最佳值。第二,这100个连接是否都是一次创建然后池化的?
grails - Grails:在 beforeInsert 中填充的字段不会被持久化,但如果由 beforeValidate 填充则持久化
我有一个X
扩展AbstractDomain
并有一个字段的类createdByUser
。我AbstractDomain
有:
但createdByUser
已填充但从未保存但如果我将字段更改为保存beforeInsert
。beforeValidate
这是什么原因造成的?
更新:
我正在使用mongodb:3.0.3
插件。
mongodb - Grails MongoDB 嵌入式域对象保存
当试图保存一个由 Mongo 支持的 Grails 域对象时,我所有的嵌入对象也都save()
调用了它们。在某些情况下,这会对性能造成巨大影响。
一些示例域对象如下。
现在假设我想在给定时间保存一棵树的状态。
这种动作似乎会导致嵌入实体,Bird
并被Tree
保存为值,但似乎也被保存以更新其关联的域模型。
有没有办法可以禁止更新这些引用并只将嵌入的字段保存在TreeState
对象中?