2016-04-01 18 views
0

我昨天在MongoLab平臺上將我的兩個集合從本地主機複製到遠程位置。我試圖調試我的(MEAN堆棧)應用程序(使用WebStorm IDE),我意識到其中一個集合中沒有數據。嗯,今天早上有7800個文件...集合中的所有文檔都神奇地消失了。我能查明發生了什麼事嗎?

我幾乎是唯一一個在數據庫上工作,尤其是在這個集合上工作的人。我沒有運行任何查詢來從該集合中刪除所有文檔。在mongolab的網站上有一個按鈕,說'刪除集合中的所有文檔'。我很確定我沒有打那個按鈕。我問我的隊友;沒有人甚至今天打開該網頁。

假設我的團隊說的是實話,我並沒有消除一切,有一個黑色的了...

有沒有辦法找出發生了什麼事? 而且,有沒有辦法爲運行在遠程服務器上的mongo數據庫保存查詢歷史記錄(如unix命令行歷史記錄)?如果是,如何?

所以,我只是好奇發生了什麼。另請注意,我在該領域沒有任何DBA職責或經驗。

回答

0

MongoDB副本集有一個名爲oplog的特殊集合。該集合存儲該副本集中所有數據庫的所有寫入操作。

下面是關於如何在Mongolab訪問OPLOG說明: Accessing the MongoDB oplog

這裏是可以找到的所有刪除操作的查詢:

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