【问题标题】:My mongodb collection got dropped. How can I see what happened?我的 mongodb 集合被丢弃了。我怎样才能看到发生了什么?
【发布时间】:2017-05-28 16:55:35
【问题描述】:

我有一个自动添加以模拟用户输入的集合。我以前有 32000 多个文档,现在只有 2000 个。我的收藏昨天某个时候被丢弃了,我不知道发生了什么。

幸运的是,每个文档都有一个时间戳,所以我可以准确地看到它发生的时间何时。 (最旧的文件只有一天的时间,每 2 分钟就有一个新文件。)我怎样才能看到 what 发生了?

它可能是由脚本完成的,因此它不会出现在.dbshell 中,无论如何它都被限制为 99 行。是否有对基地进行过任何操作的历史记录,而不仅仅是手动操作?

有没有办法知道是什么原因造成的?

额外信息:我是目前唯一可以访问基础的人,而且我只有一个可以删除我的表格的脚本,我已经很久没有碰过它了。

【问题讨论】:

  • 如果有人好奇,我找到了问题的根源。类似于this

标签: mongodb


【解决方案1】:

在 StackOverflow 上查看此答案 https://stackoverflow.com/a/15204638/4996928

我最终通过像这样启动 mongod 解决了这个问题(锤子和丑陋,是的......但适用于开发环境):

mongod --profile=1 --slowms=1 &

这将启用分析并将“慢查询”的阈值设置为 1 毫秒,从而将所有查询作为“慢查询”记录到文件中:

/var/log/mongodb/mongodb.log

现在我使用以下命令获得连续的日志输出:

tail -f /var/log/mongodb/mongodb.log

示例日志:

Mon Mar  4 15:02:55 [conn1] query dendro.quads query: { graph: "u:http://example.org/people" } ntoreturn:0 ntoskip:0 nscanned:6 keyUpdates:0 locks(micros) r:73163 nreturned:6 reslen:9884 88ms

【讨论】:

  • 我假设之前没有分析,所以我可以追踪我未来的错误,但不是这个?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-07
  • 2017-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-20
  • 2021-11-25
相关资源
最近更新 更多