【问题标题】:Mongodb recover lost documentsMongodb 恢复丢失的文件
【发布时间】:2015-07-13 09:05:51
【问题描述】:

我试图在我的收藏中创建唯一索引。我跑了

db.responses.ensureIndex({'meta.instanceId': 1}, {unique: true, dropDups: true})

由于文档中不存在meta.instanceId 键,mongodb 删除了集合中除一个之外的所有文档。

如何恢复已删除的文档?

【问题讨论】:

  • "dropDups" 现在已弃用并希望很快消失的另一个充分理由。这就是备份和滞后副本集成员的用途。没有它们,您的数据就会消失。

标签: mongodb database-indexes mongodb-indexes


【解决方案1】:

您是否正在运行副本集?如果这是真的,您可以在 oplog 中找到已删除的文档,它会跟踪您的副本中发生的操作。 您可以通过以下方式查询oplog

use local;
db.oplog.rs.find({'your query'});

oplog 不是任何备份或其他东西,它是内部的,它可能会意外更改。

如果您不在副本集上,恐怕您的文档已经消失了。

【讨论】:

    猜你喜欢
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 2015-12-22
    相关资源
    最近更新 更多