2013-07-16 36 views
2

我剛剛在MongoDB中的GridFS中存儲事物。在測試過程中,我注意到許多文件正在創建但未正確刪除。我有一個集合users,其中有一個字段avatar。它包含文件的ObjectIdGridFS:清理所有未被引用的文件

現在我想要一些命令,我​​可以用它來刪除那些沒有引用的所有fileschunks。有一個查詢可以做到嗎?也許'map-reduce'?

另外我不確定如何正確刪除node-mongodb-native中的GridFS文件。

回答

2

?現在我想要使用一些命令來刪除那些沒有引用的文件和塊。

這裏的關鍵詞是「引用」。 MongoDB沒有任何連接,因此它沒有「引用」的概念。

也許'map-reduce'?

Map/Reduce是一個查詢工具,而不是數據修改工具。新的「Aggregration Framework」也是如此。

你需要做的是循環遍歷你的文件,並單獨檢查每個文件的引用。您將可以刪除這些文件。

看看some documented examples關於如何發佈這些刪除。