GridFS:清除所有未引用的文件

时间:2013-07-16 18:45:08

标签: node.js mongodb gridfs node-mongodb-native

我刚刚开始在MongoDB的GridFS中存储东西。在测试期间,我注意到正在创建许多文件但未正确删除。我有一个集合users,其中有一个字段avatar。它包含文件的ObjectId

现在我想要一些命令,我​​可以用来删除那里没有引用的所有fileschunks。是否可以使用一个查询执行此操作?也许'map-reduce'?

此外,我不确定如何正确删除node-mongodb-native中的GridFS文件。

1 个答案:

答案 0 :(得分:2)

?现在我想要一些命令,我​​可以用来删除那里没有引用的所有文件和块。

这里的关键术语是“引用”。 MongoDB没有任何连接,因此它没有“引用”的概念。

  

也许'map-reduce'?

Map / Reduce是一种查询工具,而不是数据修改工具。新的“聚合框架”也是如此。

您需要做的是循环浏览文件并分别检查每个文件的引用。然后,您就可以删除这些文件。

请参阅some documented examples了解如何发布这些删除。