【发布时间】:2013-12-17 06:12:55
【问题描述】:
我从控制台错误地运行了 db.collection_name.remove({condition:'true'}) 并删除我不打算删除的对象,我可以如何恢复它们?
我的 db 在 mongohq 上,是否有帮助?
【问题讨论】:
-
下次你也可以使用findAndModify,因为它会返回被删除的对象。
我从控制台错误地运行了 db.collection_name.remove({condition:'true'}) 并删除我不打算删除的对象,我可以如何恢复它们?
我的 db 在 mongohq 上,是否有帮助?
【问题讨论】:
现在为时已晚,但为防止再次发生这种情况,您可以将优先级为 0 的成员添加到您的 replset 并将 slaveDelay 设置为一个小时左右,这样它就会(至少)比主节点晚一个小时.这个成员可以作为一个 oops-I-probably-should-have-hit-enter-quite-yet-yet 恢复。
【讨论】:
MongoDB 本身没有撤消删除的机制。由于您的数据库托管在云中,因此您可能也无法进行任何基于操作系统的恢复(例如 Mac 上的 Time Machine),尽管到目前为止我从未使用过 MongoHQ。
正如您在MongoHQ Doc 中所读到的,(免费)恢复是不可能的,我们鼓励您自己备份数据。
【讨论】: