我刚刚开始在MongoDB的GridFS中存储东西。在测试期间,我注意到正在创建许多文件但未正确删除。我有一个集合users
,其中有一个字段avatar
。它包含文件的ObjectId
。
现在我想要一些命令,我可以用来删除那里没有引用的所有files
和chunks
。是否可以使用一个查询执行此操作?也许'map-reduce'?
此外,我不确定如何正确删除node-mongodb-native
中的GridFS文件。
答案 0 :(得分:2)
?现在我想要一些命令,我可以用来删除那里没有引用的所有文件和块。
这里的关键术语是“引用”。 MongoDB没有任何连接,因此它没有“引用”的概念。
也许'map-reduce'?
Map / Reduce是一种查询工具,而不是数据修改工具。新的“聚合框架”也是如此。
您需要做的是循环浏览文件并分别检查每个文件的引用。然后,您就可以删除这些文件。
请参阅some documented examples了解如何发布这些删除。