该系列中的所有文件都神奇地消失了。我能找出发生了什么吗?

时间:2016-04-01 19:35:40

标签: mongodb mlab

我昨天将我的2个集合从localhost克隆到MongoLab平台上的一个远程位置。我试图调试我的(MEAN堆栈)应用程序(使用WebStorm IDE),我意识到其中一个集合中没有数据。好吧,今天早上有7800份文件......

我几乎是唯一一个在数据库上工作的人,尤其是这个集合。我没有运行任何查询来删除此集合中的所有文档。在mongolab的网站上有一个按钮,上面写着“从馆藏中删除所有文件”。我很确定我没有点击那个按钮。我问我的队友;甚至没有人今天打开那个网页。

假设我的团队说的是实话,我没有删除所有内容,并且已经黑了......

有没有办法找出发生了什么? 并且,有没有办法为在远程服务器上运行的mongo数据库保留查询历史记录(如unix命令行历史记录)?如果是的话,怎么样?

所以,我只是对发生的事感到好奇。另请注意,我在该领域没有任何DBA职责或经验。

1 个答案:

答案 0 :(得分:0)

MongoDB副本集有一个名为oplog的特殊集合。此集合存储该副本集中所有数据库的所有写入操作。

以下是有关如何在Mongolab中访问oplog的说明: Accessing the MongoDB oplog

这是一个查找所有删除操作的查询:

use local
db.oplog.rs.find({"op": "d", "ns" : "db_name.collection_name"})