问题标签 [moped]

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 投票
1 回答
945 浏览

ruby-on-rails - 如何使用 Ruby Mongoid Moped 使用 upsert 选项进行更新

如果数据已经存在,我需要更新 MongoDB 中的一些数据,如果不更新或使用这些数据创建记录。我的模型是:

然后我有这个查询

但是这个查询没有添加Garage _idcars所以它不能正常工作。我还尝试了另一个查询:

但是它没有{upsert: true}选项,所以如果它还不存在,它不会创建一个记录!然后我尝试了这个:

得到错误:

有人知道如何解决吗?非常感谢你的帮助!

0 投票
1 回答
51 浏览

ruby - MongoDB 搜索查询统计信息

我在 MongoDB 中有一个事件集合,其中包含一些 HTTP 请求信息。我想知道是否有一种方法可以根据特定的“路径”值找到响应最多的“测功机”。例如对于“random_path_users”,对于这种特定类型的请求,我想找到其计数优于其他 dyno 的“dyno”值。

0 投票
0 回答
294 浏览

mongodb - mongodb $group 聚合产生具有多个值的 _id 作为数组;如何从_id中删除欺骗?

我正在尝试进行一个非常简单的聚合来收集与特定所有者相关的一些索引。我的查询如下(以轻便摩托车语法):

这就是整个功能。问题是“owners.owner”字段可以采用两种形式——它通常是一个嵌套数组,有多个与记录相关联的参与方名称。但是,它也可以是单个记录:

表格一:

(是的,通常这些条目在数组中重复。有时它是两个或多个不同的所有者。)

表格 2:

请注意,在这种情况下,它没有嵌入到数组中。因此,我不确定聚合过程中的 $unwind 步骤是否有效,因为没有嵌入数组的文档会返回错误。

所以无论如何,聚合产生记录的结果如下所示:

但也有如下所示的记录:

即“party_name”字段有时是唯一的,但有时是两个或多个不同的字符串。

我的问题是,如何进一步细化此聚合以从“_id”字段中删除重复的字符串,并且只保留不同的值?

因此,例如,在第一种情况下,结果将是:

而在第二种情况下,结果将是相同的。

0 投票
3 回答
81 浏览

ruby-on-rails - 通过关联找到记录

我有这样的模型

我需要找到过去 24 小时内消息最多的前 3 个房间,但我不知道从哪里开始。
也许有地图/减少的东西?

0 投票
1 回答
762 浏览

ruby-on-rails - Mongoid preferred read replica

I'm building a geo redundant MongoDB replica set, but there is a problem. Every time a query is sent to the database apparently a random replica is choosen.

As you can see the third replica is the nearest, so it would be a waste of time to read from another one, but that's what happens:

So the question is, can I specify the IP address of the preferred read, or just tell MOPED to connect to the fastest one?

The mongoid.yml file now specifies all 4 replicas:

One option would be to just manually set only the master, and the nearest replica:

But I don't feel is a good solution as availability would suffer in case of failures.

0 投票
2 回答
3538 浏览

mongodb - 助力车:插入后获取ID

当我使用 mongo-ruby-driver 并插入新文档时,它会返回生成的“_id”:

在使用 Moped 进行插入后,我正在尝试获取文档的“_id”:

如何使用 Moped 获取 id?

更新:

我也尝试使用安全模式,但它不起作用:

0 投票
0 回答
256 浏览

ruby - 助力车 vs Mongo-ruby-driver

我要编写一个 ruby​​ 应用程序,我需要访问 mongodb 数据库。

Moped 和 Mongo-ruby-driver 有什么区别?
各自的优缺点是什么?

0 投票
1 回答
87 浏览

mongodb - Mongoid 错误重定向

我希望能够重定向从 mongoid 的错误引发的输出。我在以下布局中有一些简单的代码:

发生错误时,我以以下格式获取它:

在实际捕获并显示异常之前,会多次显示此错误。我对发生错误的事实没有意见,但我想在上面隐藏错误输出/不显示它,只显示异常。是否有某种方法可以重定向从 ConnectionFailure 错误引发的错误输出。或者一种配置 mongoid 以使错误消息不显示的方法(我正在从控制台运行)?任何重定向错误的方法都会有所帮助。

0 投票
1 回答
3231 浏览

ruby-on-rails - Rails Mongoid 无法验证 - 失败并出现错误 13:“未授权查询 my_db.my_collection”

据说这个问题已经解决了最新版本的助力车,但仍然发生在我身上。我有一个带有 Mongoid 的 rails 4.2 应用程序,为具有readWritedbOwner角色的 MongoDB DB 创建了一个用户,并在mong.conf文件中设置了auth=true 。 我可以使用 Mongo shell 或使用 Mongo 驱动程序的简单 Java 应用程序使用该用户凭据在数据库上执行任何操作。 但是,当尝试使用 Mongoid 进行身份验证时,我总是会收到此错误:

失败,出现错误 13:“未授权查询 my_db.my_collection”

这是我的 mongoid.yml 文件的相关部分:

我还尝试用服务器的远程地址替换主机并远程访问它(在禁用身份验证选项的情况下工作)但没有成功。对于它的价值,我可以通过调试 mpped/node.rb 文件来查看凭据,在ensure_connected方法中我看到@credentials变量包含我的用户名和密码我在这里缺少什么?谢谢!

0 投票
0 回答
409 浏览

mongodb - ConnectionPool::PoolShuttingDownError 由 application_controller rails 使用 Mongodb replicaSet 偶尔抛出

我有一个在两个不同的服务器上运行的 RoR 应用程序。它们运行相同版本的应用程序并且配置相似。我有一个 Mongodb 副本集在两个服务器上运行,第三个服务器作为任意服务器。

一切运行良好。数据同步完美。但运行 2 周后,其中一台服务器开始出现 ConnectionPool::PoolShuttingDownError。我检查了日志,我可以看到应用程序控制器引发了错误。我没有更改任何服务器上的任何代码。

引发错误的服务器很好,直到它同时收到 6-7 个请求。或者当您一起刷新页面 6-7 次时。它会一次又一次地出现此错误,您会刷新页面并使其恢复正常。这很奇怪,我不明白为什么一台服务器有这个问题,而另一台没有,而且有时也是如此。

我在 Moped、Rails 4.1.0 和 Ruby 2.1.5 中使用 Mongoid。我还使用大约 51158 的 db.serverStatus().connections 检查了可用连接,最大进程的 ulimit 为 257185。

我搜索了很多,但我仍然不确定这个问题的原因。如果有人能对这个问题有所了解,那就太好了。任何帮助将不胜感激。提前致谢。