问题标签 [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.

0 投票
0 回答
119 浏览

ruby-on-rails - 使用 accept_nested_attribute 重复的 has_many 记录

从 master 使用 Rails 4 和 Mongoid 4

出于某种奇怪的原因,当记录验证失败(但不是有效时)时,我会得到重复的子记录,然后呈现给用户的表单中有额外的记录

我有一个管道,它有很多 PipelineStages

将阶段名称编辑为空白(验证失败)会复制所有 Pipeline.pipeline_stages

因此,当传递到控制器时,似乎完全有效的参数在使用 update_attributes 时不起作用

0 投票
2 回答
856 浏览

ruby-on-rails-4 - Mongoid 4 按 ID 查找嵌入文档

我有一个项目是我第一次认真研究 Mongoid。

我看到了使用以下命令的提示:

但这不起作用。错误信息是:

我发现 BSON 不再包含在内,所以我将它添加到我的 Gemfile 以及 Moped 中。然后,我做了另一个我发现的修复(放置Moped::BSON=BSON在 application.rb 中)。

这仍然不起作用,但错误更改为:

所以我假设这个方法已经被弃用了。有没有人有任何其他提示?

为了清楚起见,我发现自己处于想要使用 jquery-sortable 对嵌入文档进行排序的情况。这需要我在数据库中更新它们,但是其中的序列化不包括哈希中的父文档。所以我想我会尝试使用嵌入式文档中的 ID 在后端获取它。这就是我需要它的原因。

再次感谢您提供的任何帮助。

0 投票
1 回答
339 浏览

ruby-on-rails - 在 Mongoid 4 的嵌入式文档中不是持久的 id

我第一次使用 Mogoid(当前支持 Rails-API 4 的测试版)。我用它来将用户表单保存为一个包含嵌入文档的文档。在控制器的更新方法中,如果返回的卡没有 id,我使用此构造创建新卡

它在大多数情况下都有效。不幸的是,有时会发生一些错误,我创建的嵌入式文档没有持久 ID,每当我阅读它时,结果都会有所不同。使用后

返回的 ID 示例(每个都来自同一字段的不同读取操作)

我的模型看起来像这样:

我想这是某种持久性错误,但我找不到根本原因......

如果谁能帮助我,我会很高兴,因为它困扰了我三天

0 投票
1 回答
551 浏览

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。idfield

如果我尝试在 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像以前一样工作,但我的问题仍然有效。我是否必须包含idnow 才能获得数组documents

0 投票
1 回答
200 浏览

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 任务的正确方法是什么?

0 投票
0 回答
229 浏览

ruby-on-rails - 使用布尔子句查询 mongoid 没有结果

我有实现的类

查看控制台会话中发生的情况:

正如 [1] 所有这些查询都返回 nil。[2] 表明存在一个应该从查询返回的现有对象。

似乎查询总是使用布尔子句正确翻译,但在数据库中,该值作为字符串保留,因此与布尔值不匹配(我的印象)。

不知何故,mongoid 或 mongo 并没有将“1”转换为应有的真值。

mongod --version 数据库版本 v2.6.1

mongoid 4.0.0

0 投票
1 回答
472 浏览

ruby-on-rails - 没有明显原因的 Mongoid::Errors::InvalidScope

我正在使用mongoid-4.0.0.beta1并遵循他们的文档来定义一个scope我得到这个错误:

样本:

0 投票
2 回答
140 浏览

ruby - Rails路由,在同一页面上显示所有元素

我需要在同一页面上显示我的所有元素。在路线:

这将产生:

问题,当我这样做时:

此错误引发:


错误在这里,在我的餐点控制器.rb

方法:


有人能帮我吗?

0 投票
1 回答
268 浏览

ruby - Mongoid如何设置超时

Mongoid 无法从我的机器连接到远程 MongoLab 数据库,我认为这是由于网络延迟导致它在远程服务器上工作。

来自 MongoLab ( http://docs.mongolab.com/connecting/#help )。

出于网络延迟和安全原因,我们强烈建议您始终从应用程序所在的同一数据中心连接到数据库。

好吧,无论如何我都想做。有没有办法改变超时,比如(假代码)

0 投票
1 回答
103 浏览

ruby - 如何在 Mongoid 4 中结合 any_of 和 between?

我在这篇 SO 帖子中读过,你可以像这样any_of结合between

但是当使用 Mongoid 4 尝试这个查询时,我得到了错误:

我在这里想念什么?