问题标签 [mongoid4]
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.
ruby-on-rails - Mongoid:如何同步 HABTM 关系的双方?
我有两个模型:
由于某种原因,组对象没有所有的user_ids
. 也许,因为我使用的是 mongoid 4 alpha 版本。
尽管最大的问题是为什么这些文档不同步,但现在我需要知道如何同步它们。
提前致谢,
胜利者
ruby-on-rails - Mongoid:如何查询 has_many 对象数量> 0 的所有对象
我有一个Gift
模型:
我有一个GiftUnit
模型:
我的一些礼物有gift_units,但其他的没有。我如何查询所有的礼物在哪里gift.gift_units.size > 0
?
仅供参考:Gift.where(:gift_units.exists => true)
不返回任何东西。
ruby-on-rails - Mongoid:查询 has_many 关联具有特定字段值的对象
我有一个GiftCategory
模型:
我有一个Gift
模型:
该update_counter
方法允许我计算有多少Gift
对象属于一个GiftCategory
. 这样,我可以例如仅查询GiftCategory
具有某些对象的Gift
对象:
但正如您所见, aGift
也有一个gift_units_count
字段。该字段记录了可用的数量单位Gift
。如何查询GiftCategory
具有Gift
对象的对象gift_units_count > 0
?
我认为解决方案可能类似于此处描述的内容,但我自己无法接近。
mongoid - 创建嵌入文档时如何运行代码
我有以下型号:
但是这个回调仅在我save
直接调用 courier 对象时运行,而不是在我保存父对象时运行。
因此,拥有一个嵌套表单和一个控制器来创建包括快递员在内的用户不会运行快递员的创建回调。
mongoid 文档说这是设计使然:
任何文档都可以使用回调,无论它是否嵌入到另一个文档中。请注意,为了提高效率,Mongoid 只触发执行持久性操作的文档的回调。这是 Mongoid 旨在支持大型层次结构并处理优化的原子更新回调不能在整个文档层次结构中触发。
但是我如何编写在创建信使时执行的代码?在我的情况下,我无法在用户的 after_create 回调中运行代码,因为有些用户没有嵌入的文档信使。但是当一个快递员被添加时,我想运行一个回调。
这样做的最佳选择是什么?
ruby-on-rails - Rails4 Mongoid Paperclip不上传文件,但其他一切
我有一个使用 Mongoid 和 Mongoid-Paperclip 的 Rails4 项目。我刚刚设置了 ImageMagick,命令似乎有效。保存图像的模型被创建,所有图像字段都被填充。唯一不起作用的是将文件复制到 public/system/... 文件夹(在我的 Mac 上处于开发模式)。
这是代码和输出:
目录图像(由零件嵌入)
部分(嵌入许多目录图像)
宝石文件
输出
提前致谢, 斯特夫
ruby - 用 Mongoid 批量插入多条记录?
我正在阅读有关如何在一个查询中在 Mongoid 中插入多个文档的 Stackoverflow答案。从我读到的答案:
我需要一个例子来理解它是如何工作的。假设我们有 Article 类:
例如,我创建了一系列文章:
如何创建它们,同时确保验证捕获到我有 2 个相同的 remote_id?
ruby - 按 id 搜索文档时 Mongoid Criteria 出现意外结果
我有一个 Mongoid 标准,users
我想找到一个用户。鉴于user
我确定标准中不存在 a:
当我搜索时,id
我总是得到用户而不是零:
我究竟做错了什么?
提前致谢。
PS:mongoid(4.0.0.beta1),rails(4.0.1),ruby(2.1.0),mongoDB(2.4.9)
ruby-on-rails - rails+mongoid 验证动态属性
我正在使用 rails 4 + mongoid 4 beta1。
产品属于类别,具有基于类别的动态属性。我使用自定义方法验证动态属性,但它看起来很难看。如何在我的自定义方法中使用标准验证方法,或者有更好的方法?
这是我的模型(不完整):
performance - 如何通过避免多次查询 Mongoid 来提高性能?
我有大约。Mongoid 数据库中有1000 万个Article
对象。大量的Article
对象使得查询非常耗时。
如下例所示,我正在注册每周(例如,从现在起 700 天......从现在起 7 天,从现在起 0 天)数据库中有多少文章。
但是我每做一次查询,时间消耗就会增加,Mongoid的CPU使用率很快就达到了+100%。
有没有办法将Article
对象保存到内存中,所以只需要在第一行调用数据库吗?
ruby-on-rails - 语法错误,意外的关键字或范围
我正在运行,但由于我在模型中使用Feed.history
的行,它在标题中引发了上述错误:scope
Feed
scope :history, -> { or({:end.ne => nil}, {:end.lt => Time.current}) }
什么和为什么?!