ruby-on-rails - 从 mongodb 中删除所有 errbit 错误的最快方法是什么?
问题描述
我想从 errbit 重新开始——我们的 mongodb 数据库中有数百万条记录,我们还没有清理它们。我想重新开始,但我不想丢失我的用户帐户。
我尝试运行这些例程(https://mensfeld.pl/2015/01/making-errbit-work-faster-by-keeping-it-clean-and-tidy/):
bundle exec rake errbit:clear_resolved
desc 'Resolves problems that didnt occur for 2 weeks'
task :cleanup => :environment do
offset = 2.weeks.ago
Problem.where(:updated_at.lt => offset).map(&:resolve!)
Notice.where(:updated_at.lt => offset).destroy_all
end
但第二个(删除超过 2 周的问题和通知)似乎永远运行。通过 mongo shell 查询问题和通知集合似乎没有显示任何被删除...我们使用的是 errbit V 0.7.0-dev 和 mongodb 版本 3.2.22。
解决方案
最快的方法是获取一个 mongo 控制台并删除大部分集合。我会说停止你的 errbit 服务器,获取一个 mongo 控制台,连接到你使用的数据库并运行:
> db.errs.drop()
true
> db.problems.drop()
true
> db.backtraces.drop()
true
> db.notices.drop()
true
> db.comments.drop()
推荐阅读
- reactjs - 如何使用 React-Hook-Form 设置焦点
- json - 如何在ansible中使用jinja2模板创建一个包含多个条目的json文件?
- javascript - 如何使用来自 finra.com 的 python 抓取 JS Web 数据
- android - 非无限分页
- firebase - Flutter 从文档中删除数组
- vert.x - 我应该怎么做才能从此 vertx 代码中获取数据库响应
- javascript - 使用引用属性将 JSON 转换为 YAML
- javascript - spawnSync /bin/sh ENOBUFS
- javascript - 显示/隐藏输入,并选择适当的输入
- python - python selenium 从元素中获取文本