问题标签 [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.
ruby - 如何使用 mongoid / moped 进行 upsert / push
我正在使用 Mongoid (v3) 访问 MongoDB,并希望执行此操作:
这在 mongo shell 中运行良好。这也正是我想要的,因为它是一个单一的原子操作,这对我来说很重要,因为我会经常称呼它。我不想做两个操作——一个获取然后一个更新。我已经通过 mongoid 尝试了很多东西,但无法让它工作。
如何让 MongoID 不碍事,只需将此命令发送到 MongoDB?我猜想在 Moped 级别有一些方法可以做到这一点,但该库的文档基本上不存在。
mongoid - 如何重置 mongoid 3 数据库连接
在 Mongoid 2.x 中,可以执行Mongoid.database.connection.close
重置数据库连接。这个特定的 API 在 Mongoid3 中不再可用,重置连接的新方法是什么?
动机:在查询正在进行时中断查询(ctrl-c)会终止您的连接。任何后续查询都将挂起。此外,诸如超时之类的抛出错误也会做同样的事情(参见:http ://simple10.com/rescuing-from-racktimeout-to-close-mongodb-connection )。
ruby - 助力车:重命名 mongodb 集合
如何使用 Mongoid + Moped 驱动程序重命名集合?
是否有http://docs.mongodb.org/manual/reference/command/renameCollection/的轻便摩托车实现?
ruby-on-rails - 为什么 Mongoid/Moped 在生产 Rake 任务中向 Airbrake 抛出 Timeout::Error?
我的生产安装有问题。我有几个成功运行的预定 rake 任务。但是,我收到了Timeout::Error: execution expired
很多来自 Airbrake 的电子邮件。
但是,奇怪的是:Rake 任务全部成功完成。我正在 cron 命令中捕获 stdout/stderr,并且错误不会出现在日志中。我还在 rake 任务的末尾添加了简单的打印语句来验证它们的完成。
我该如何进一步解决这个问题?
这是其中一封电子邮件的堆栈跟踪:
rspec - rspec 给出错误 Moped::Errors::ConnectionFailure
当我运行测试 rspec 时,出现错误
我不知道为什么会出现这个错误?
谢谢..
ruby-on-rails - Mongoid3/Moped:数据库=管理员命令={:ismaster=>1}
我已将我的 Rails 应用程序升级到 3.2.8 和 Mongoid 3/Moped。在开发中一切正常,在我的开发机器上同时设置为生产,并且rails c
在我的生产设置上也可以正常工作。但是,该应用程序没有启动(部署在乘客身上)并且似乎只是超时,没有产生任何错误。我将 log_level 设置为在生产中调试,这就是我所看到的:
我该如何解决?(作为记录,我尝试使用的数据库不称为 admin。)
谢谢,
阿维沙
ruby-on-rails - Mongoid 聚合 $match 与 Date 对象不起作用?
我在具有以下结构的集合中有用户文档:
我可以根据日期轻松查询这些文档:
根据日志:
MOPED: 127.0.0.1:27017 COMMAND 数据库=db 命令={:count=>"users", :query=>{"activities"=>{"$elemMatch"=>{"date_time_created"=>{"$gte" =>2012-05-10 00:00:00 UTC,“$lt”=>2012-07-12 00:00:00 UTC}}}}}(0.5260 毫秒)
我以这种方式得到了我需要的结果。
但是,当我尝试基于相同的条件使用新的聚合函数和 $match 时:
根据日志:
MOPED: 127.0.0.1:27017 COMMAND 数据库=db command={:aggregate=>"users", :pipeline=>[{"$match"=>{:activities=>{"$elemMatch"=>{"date_time_created" =>{"$gte"=>2012 年 5 月 10 日,星期四,"$lt"=>2012 年 7 月 12 日,星期四}}}}}]} (0.6049ms)
“start_date”和“end_date”是 Ruby Date 对象,在两个查询中基本相同。但是,当我查看日志时,它们会变成不同的格式。当我尝试使用 start_date.strftime("%Y-%m-%d") 之类的东西强制格式时,它仍然不起作用。
聚合管道中还有其他功能,但我把它们拿出来,我仍然得到错误。
如何让聚合函数在日期上匹配?
ruby - 无法捕捉红宝石异常
具有以下长期运行的 rake 批次:
我想捕获 Moped::Errors::CursorNotFound 异常,但它不起作用。
在 crontab 日志中,我只收到以下消息:
然后批处理停止并退出,而我正在查看救援消息和下一个循环操作。
更新
我正在尝试通过执行以下操作“扩展”设置为StandardError的可捕获异常:
...以防万一,即使CursorNotFound继承自MongoError,后者继承自StandardError,如您在此处看到的。
更新
我刚刚更新了以前的简化代码,使用 rake 使用的完整SyncStarredRepo类,以防万一我在循环逻辑中遗漏了一些东西,开始/救援/结束等等......
更新
按照以下方式打印的堆栈跟踪rake -t
:
ruby-on-rails - 耙中止!操作:“获得更多”
运行 rake 任务时出现以下错误。谁能帮我?
错误
我的佣金代码
提前致谢