问题标签 [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 - 使用 accept_nested_attribute 重复的 has_many 记录
从 master 使用 Rails 4 和 Mongoid 4
出于某种奇怪的原因,当记录验证失败(但不是有效时)时,我会得到重复的子记录,然后呈现给用户的表单中有额外的记录
我有一个管道,它有很多 PipelineStages
将阶段名称编辑为空白(验证失败)会复制所有 Pipeline.pipeline_stages
因此,当传递到控制器时,似乎完全有效的参数在使用 update_attributes 时不起作用
ruby-on-rails-4 - Mongoid 4 按 ID 查找嵌入文档
我有一个项目是我第一次认真研究 Mongoid。
我看到了使用以下命令的提示:
但这不起作用。错误信息是:
我发现 BSON 不再包含在内,所以我将它添加到我的 Gemfile 以及 Moped 中。然后,我做了另一个我发现的修复(放置Moped::BSON=BSON
在 application.rb 中)。
这仍然不起作用,但错误更改为:
所以我假设这个方法已经被弃用了。有没有人有任何其他提示?
为了清楚起见,我发现自己处于想要使用 jquery-sortable 对嵌入文档进行排序的情况。这需要我在数据库中更新它们,但是其中的序列化不包括哈希中的父文档。所以我想我会尝试使用嵌入式文档中的 ID 在后端获取它。这就是我需要它的原因。
再次感谢您提供的任何帮助。
ruby-on-rails - 在 Mongoid 4 的嵌入式文档中不是持久的 id
我第一次使用 Mogoid(当前支持 Rails-API 4 的测试版)。我用它来将用户表单保存为一个包含嵌入文档的文档。在控制器的更新方法中,如果返回的卡没有 id,我使用此构造创建新卡
它在大多数情况下都有效。不幸的是,有时会发生一些错误,我创建的嵌入式文档没有持久 ID,每当我阅读它时,结果都会有所不同。使用后
返回的 ID 示例(每个都来自同一字段的不同读取操作)
我的模型看起来像这样:
我想这是某种持久性错误,但我找不到根本原因......
如果谁能帮助我,我会很高兴,因为它困扰了我三天
ruby-on-rails - Rails 4 + Mongoid 4:Model.only("field").to_a 不像以前那样工作
我刚刚在 Rails 4 和 Mongoid 4 beta 中启动了一个新项目,而我在 Mongoid 3 中经常使用的旧行为不再起作用。
在我以前写之前,我会得到一个带有andModel.only("field").to_a
的数组,所有其他字段都设置为 null。id
field
如果我尝试在 Mongoid 4 中执行此操作,我会得到:(Object doesn't support #inspect)
Model.only("field").map {|e| e.field}
虽然不像以前那样工作。id
不再包含,ActiveModel::MissingAttributeError
如果我尝试访问该 ID ,我会得到。
我知道我可以使用Model.pluck("field")
,但这不会返回文档数组。
这些变化是真实的还是我错过了什么?
编辑:当我写这篇文章时,我尝试了包括它id
并且它正在工作。IE。Model.only("id", "field").to_a
像以前一样工作,但我的问题仍然有效。我是否必须包含id
now 才能获得数组documents
?
ruby-on-rails-4 - 如何从 rake 任务中删除位于 mongoid.yml 中的所有数据库?
我想从 rake 任务中删除位于 mongoid.yml 中的所有数据库会话。我正在使用 rails4 和 mongoid4。这是我的 mongoid.yml:
当我执行rake db:drop
或 rakedb:mongoid:drop
命令时,它们只会删除默认数据库。所以我搜索了它并找到了一个在 rails 控制台上完美运行的解决方案。
执行后,rails console
我只需将以下代码放在控制台上并按回车键。
正如我所说,这就像在 Rails 控制台上的魅力一样。但是当我将此代码注入任何 rake 任务时,它不起作用。
让该代码适用于任何 rake 任务的正确方法是什么?
ruby-on-rails - 使用布尔子句查询 mongoid 没有结果
我有实现的类
查看控制台会话中发生的情况:
正如 [1] 所有这些查询都返回 nil。[2] 表明存在一个应该从查询返回的现有对象。
似乎查询总是使用布尔子句正确翻译,但在数据库中,该值作为字符串保留,因此与布尔值不匹配(我的印象)。
不知何故,mongoid 或 mongo 并没有将“1”转换为应有的真值。
mongod --version 数据库版本 v2.6.1
mongoid 4.0.0
ruby-on-rails - 没有明显原因的 Mongoid::Errors::InvalidScope
我正在使用mongoid-4.0.0.beta1
并遵循他们的文档来定义一个scope
我得到这个错误:
样本:
ruby - Rails路由,在同一页面上显示所有元素
我需要在同一页面上显示我的所有元素。在路线:
这将产生:
问题,当我这样做时:
此错误引发:
错误在这里,在我的餐点控制器.rb
方法:
有人能帮我吗?
ruby - Mongoid如何设置超时
Mongoid 无法从我的机器连接到远程 MongoLab 数据库,我认为这是由于网络延迟导致它在远程服务器上工作。
来自 MongoLab ( http://docs.mongolab.com/connecting/#help )。
出于网络延迟和安全原因,我们强烈建议您始终从应用程序所在的同一数据中心连接到数据库。
好吧,无论如何我都想做。有没有办法改变超时,比如(假代码):